Java集群优化——dubbo+zookeeper构建
互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。
下面我将讲解dubbo框架的基础配置。最后会放上demo下载链接。
本文旨在dubbo demo,会忽略一些用法,
对一些具体的api配置可以参考dubbo官方:http://dubbo.io/ 的用户指南,整体的搭建过程不算复杂。
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Registry: 服务注册与发现的注册中心。
dubbo 简单的讲就是把不同服务的接口对外提供给注册中心,注册中心在提供给调用者。
所以一个可运行的demo就需要一个注册中心,一个生产者,一个消费者。
生产者和消费者这里分别使用java服务实现。注册中心可以是多种多样,这是选用官方推荐的zookeeper.最好使用zk。
1.zookeeper的安装和配置
下载后解压到自己想要的位置,这个东西是免安装的。这时我们安装好了。下面是配置一下
1.把conf目录下的zoo_sample.cfg改名成zoo.cfg,这里我是先备份了zoo_sample.cfg再改的名。
把zoo.cfg里面的内容改成:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=D:\\zookeeper-3.4.7\\data
dataLogDir=D:\\zookeeper-3.4.7\\log
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
大家可以直接copy,一些带有“#”号的配置项也留着,以后方便扩展。
拷贝成功后保存即可。
我们再配置一下这个环境变量就可以运行zookeeper了。(本文基于Windows已经配置过JAVA_HOME并且配置正确)
新增环境变量:ZOOKEEPER_HOME  
变量值:D:\zookeeper-3.4.7 (变量值要根据你下的zookeeper包的放置位置)
再在系统变量path最后添加: ;%ZOOKEEPER_HOME%/bin; %ZOOKEEPER_HOME%/conf 并保存就可以了
这个时候就可以验证我们到底有没有安装成功了
点击bin目录下的zkServer.cmd 这时候出现下面的提示就说明配置成功了。
注意 :这个窗口不要关闭!让注册中心服务一直运行。
2.生产者和消费者项目的运行
下面大家可以去下载我的demo并导入eclipse,下载地址在文章最后
导入两个工程后 先修改c_provider项目的applicationContext.xml文件,这个文件有三个红叉的话并不影响运行,
可以去下载dubbo.xsd文件(这个文件在我的demo包中有提供,demo包下载地址在随后有提供),放到你自己放置的位置,然后Window->Preferences->XML->XML Catalog 然后add
Location 是你的dubbo.xsd文件地址
保存后 Project->clean 就行了
这个时候我们再来修改applicationContext.xml,打开该文件
    
<dubbo:registry address="zookeeper://192.168.62.56:2181" />
只要把这个修改成192.168.62.56你自己的ip就行了
自己的ip可以这样查看 windows 然后输入cmd
就是那个ipV4地址
后面的那个端口号就是 那个coo.cfg里面的clientPort=2181这一项配置
然后运行一下 Provider.java文件就行了
注意:运行后不要关闭!
 
打印这个出来就行说明正确了.
这个时候可以看一下zookeeper的客户端的日志。已经可以监控到这些服务了。
这个时候把 consumer的applicationContext.xml文件里面的ip做同样修改
运行:Consumer.java 可以看到
 
至此,全部配置成功,dubbo的demo已经完成。
行文匆忙,不足之处希望大家在文章下讨论、指正

windows下 zookeeper dubbo 安装+配置+demo 详细图文教程的更多相关文章

  1. Mysql在windows下的免安装配置步骤和重新安装的步骤

    windows下mysql免安装配置 1. 下载mysql免安装压缩包 下载mysql-5.6.22-winx64.zip 解压到本地D:\mysql-5.6.22-winx64 2. 修改配置文件 ...

  2. zookeeper集群环境搭建详细图文教程

    zookeeper集群环境搭建详细图文教程 zhoubang @ 2018-01-02 [文档大纲] 友情介绍 软件环境 注意点 环境安装 1. 新建用于存储安装包以及软件安装的目录 2. 下载安装z ...

  3. 微软源代码管理工具TFS2013安装与使用详细图文教程(Vs2013)

    这篇文章联合软件小编主要介绍了微软源代码管理工具TFS2013安装与使用图文教程,本文详细的给出了TFS2013的安装配置过程.使用教程,需要的朋友可以参考下 最近公司新开发一个项目要用微软的TFS2 ...

  4. [转] 微软源代码管理工具TFS2013安装与使用详细图文教程(Vs2013)

    这篇文章联合软件小编主要介绍了微软源代码管理工具TFS2013安装与使用图文教程,本文详细的给出了TFS2013的安装配置过程.使用教程,需要的朋友可以参考下 最近公司新开发一个项目要用微软的TFS2 ...

  5. windows下Redis的安装配置以及注意事项

    一.下载windows版本的Redis 去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网以及没有下载地址,只能在github上下载,官网只提供linux版本的下载 官网下载地址 ...

  6. Redis(三):windows下Redis的安装配置以及注意事项

    一.下载windows版本的Redis 去官网找了很久,发现原来在官网上可以下载的windows版本的,现在官网以及没有下载地址,只能在github上下载,官网只提供linux版本的下载 官网下载地址 ...

  7. windows下maven的安装配置

    什么是maven Maven是基于POM(工程对象模型),通过一小段描述来对项目的代码.报告.文件进管理的工具. Maven是一个跨平台的项目管理工具,它是使用java开发的,它要依赖于jdk1.6及 ...

  8. vm12 安装ubuntu15.10详细图文教程 虚拟机安装ubuntu安装 ubuntu更新软件 ubuntu一直卡在下载语言怎么办?

    1,准备工作-ubuntu下载 ubuntu官网下载 如何官网下载ubuntu http://www.ubuntu.com/download/ 2,打开虚拟机 虚拟机安装ubuntu15.10 虚拟机 ...

  9. windows下redis的安装配置和php扩展使用phpredis

    1. 首先安装先下载redis数据库     下载地址: http://code.google.com/p/servicestack/wiki/RedisWindowsDownload 目前是2.02 ...

随机推荐

  1. T1365 浴火银河星际跳跃 codevs

    http://codevs.cn/problem/1365/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 小 K 又在玩浴 ...

  2. IE浏览器不能上传图片

    这时将弹出一个“安全设置-Internet选项”对话框,把右侧滚动条慢慢地往下拉. 找到“其他/将文件上载到服务器包含本地目录路径”点击下面的“启用”功能

  3. arcengine 文件夹连接

    Provides access to members that manages a GX catalog. Product Availability Available with ArcGIS Des ...

  4. 我和 HelloGitHub

    我? 我是一个本科学历.无大厂经历,普通的 Python 程序员. 虽然是计算机专业,但是大学玩了四年(Dota)后,发现自己无一技能傍身,要饿死啦!偶然间接触了 Python 这门编程语言,发现编程 ...

  5. IOS开发 序列化与反序列化

    原帖地址:http://blog.csdn.net/ally_ideveloper/article/details/7956942 不会用,记下自己有时间看 序列化与反序列化概述 序列化,它又称串行化 ...

  6. Meteor Assets资源

    静态服务器资源位于应用程序内的 private 子文件夹.在这个例子中,我们将学习如何从简单的JSON文件中使用数据. 第1步 - 创建文件和文件夹 让我们创建一个 private 文件夹并在这个文件 ...

  7. 一个基于JBoss5.1+EJB3.0 登陆应用

    花了几天的时间研究了一下EJB的使用,一直以来都主要是在写终端中的程序,对Java框架的相关的开发非常不熟悉,中间遇到了不少麻烦,还好总算都攻克了.写篇日志记录一下. 经验总结 为什么选择JBoss5 ...

  8. cocos2d-x进化为2.5D的一些想法

     首先我得说Unity3D已经做的非常好了,搞这些东西意义真心不大.详细Unity3D有什么优势我之前也写过两篇文章来阐述自己的想法.         假设我的下一份工作是U3D的话,预计我就不会 ...

  9. 微信小程序实战之 goods(订餐页)

    项目目录: 模拟数据: utils / data.js function getSData() { var data = [ { "name": "热销榜", ...

  10. 在EasyUI的DataGrid中嵌入Combobox

    在做项目时,须要在EasyUI的DataGrid中嵌入Combobox,花了好几天功夫,在大家的帮助下,最终看到了它的庐山真面: 核心代码例如以下: <html> <head> ...