我是在linux下使用dubbo-2.3.3以上版本号的zookeeper注冊中心客户端。

Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注冊中心。

Dubbo未对Zookeeper服务器端做不论什么侵入改动。仅仅需安装原生的Zookeeper服务器就可以。全部注冊中心逻辑适配都在调用Zookeeper客户端时完毕。

Zooleeper安装

下载解压

wget http://www.apache.org/dist//zookeeper/zookeeper-3.3.3/zookeeper-3.3.3.tar.gz

tar zxvf zookeeper-3.3.3.tar.gz
cd zookeeper-3.3.3
cp conf/zoo_sample.cfg conf/zoo.cfg
配置:

vi conf/zoo.cfg

zoo.cfg的内容例如以下:(当中data文件夹需改成你真实输出文件夹)

# 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.
dataDir=/home/dubbo/zookeeper-3.3.3/data # the port at which the clients will connect
clientPort=2181

假设须要集群。zoo.cfg的内容例如以下:(当中data文件夹和server地址需改成你真实部署机器的信息)

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/home/dubbo/zookeeper-3.3.3/data
clientPort=2181
server.1=ip1
server.2=ip2

并在data文件夹下放置myid文件:(上面zoo.cfg中的dataDir)

mkdir data
vi myid

启动

./bin/zkServer.sh start

停止

./bin/zkServer.sh stop

管理控制台安装

管理控制台为内部裁剪版本号,开源部分主要包括:路由规则。动态配置,服务降级。訪问控制。权重调整。负载均衡,等管理功能。

安装

wget http://apache.etoak.com/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz
tar zxvf apache-tomcat-6.0.35.tar.gz
cd apache-tomcat-6.0.35
rm -rf webapps/ROOT wget http://code.alibabatech.com/mvn/releases/com/alibaba/dubbo-admin/2.4.1/dubbo-admin-2.4.1.war unzip dubbo-admin-2.4.1.war -d webapps/ROOT

配置: (或将dubbo.properties放在当前用户文件夹下)

vi webapps/ROOT/WEB-INF/dubbo.properties
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest

启动

./bin/startup.sh


停止

./bin/shutdown.sh

訪问(注意我个人改动了默认的端口)(用户:root,密码:root)


http://127.0.0.1:8090/

注冊中心抽象

     Dubbo将注冊中心进行抽象,使得它能够外接不同的存储媒介给注冊中心提供服务,有ZooKeeper。Memcached,Redis等。Dubbo抽象后,用户能够进行扩展,我们通过分析ZooKeeper这个实现来了解注冊中心的低层。
     进过抽象之后,用户 仅仅须要实现相应的Registry和RegistryFactory就能够了,ZooKeeper就是实现了ZookeeperRegistry,和ZookeeperRegistryFactory。
     ZookeeperRegistryFactory的实现非常简单。就是返回一个ZookeeperRegistry实例,所以基本的东西是在ZookeeperRegistry中实现的,在ZookeeperRegistry用户须要实现注冊URL。注销URL,URL订阅,URL注销订阅和URL查询,在这里面设计到Zookeeper服务端的调用,都被封装到ZookeeperClient中,ZookeeperClient服务进行Server连接,断链。资源的CRUD。

ZooKeeper的价值

      因为引入了ZooKeeper作为存储媒介,也就把ZooKeeper的特性引进来。
      首先是负载均衡。单注冊中心的承载能力是有限的,在流量达到一定程度的时候就须要分流,负载均衡就是为了分流而存在的,一个ZooKeeper群配合相应的Web应用就能够非常easy达到负载均衡。
     资源同步。单单有负载均衡还不够。节点之间的数据和资源须要同步,ZooKeeper集群就天然具备有这种功能。
     命名服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers文件夹下写入自己的URL地址,这个操作就完毕了服务的公布。其它特性还有Mast选举。分布式锁等。

最新文章

  1. openGL 环境配置
  2. shell条件判断中-a至-z的含义
  3. styleId妙用
  4. install MCR in silent mode linux server
  5. 我的android学习经历35
  6. Yii2 的问题解决方案
  7. android不依赖具体activity弹出Dialog对话框,即全局性对话框
  8. Bzoj 2705: [SDOI2012]Longge的问题 欧拉函数,数论
  9. tc令牌桶限速心得
  10. Java语言进阶过程(转)
  11. macOS Sierra 10.12.6 安装u盘制作
  12. 利用Div+CSS(嵌套+盒模型)布局页面完整实例流程
  13. 分享基于分布式Http长连接框架
  14. java多线程(六)-线程的状态和常用的方法
  15. 学习ELK之----01.建立ELK测试项目
  16. jQuery选择器 :eq() 不能识别变量参数的问题解决方案
  17. 使用boost.python封装C++库
  18. VS2015配置OpenCV,使用mfc摄像头程序测试
  19. js 显示刚刚上传的图片 (onchange事件)
  20. 转载:避免重复插入,更新的sql

热门文章

  1. [原创]浅谈H5页面性能测试
  2. 任务调度框架Hangfire 简介
  3. MongoDB简单使用 —— 驱动
  4. 《Go学习笔记 . 雨痕》方法
  5. Spring Boot 2.0 + zipkin 分布式跟踪系统快速入门
  6. 配置Oracle E-Business Suite Integrated SOA Gateway Release 12.1.2/12.1.3
  7. 查询死锁的Session SQL 语句
  8. Redis客户端集群
  9. python测试开发django-12.models设置主键primary_key
  10. BadgeValueView