我是在linux下使用dubbo-2.3.3以上版本的zookeeper注册中心客户端。Zookeeper是Apache Hadoop的子项目,强度相对较好,建议生产环境使用该注册中心。Dubbo未对Zookeeper服务器端做任何侵入修改,只需安装原生的Zookeeper服务器即可,所有注册中心逻辑适配都在调用Zookeeper客户端时完成。
Zooleeper安装
下载解压
- <span style="font-size:18px;">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</span>
配置:
- <span style="font-size:18px;">vi conf/zoo.cfg</span>
zoo.cfg的内容如下:(其中data目录需改成你真实输出目录)
- <span style="font-size:18px;"># 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</span>
如果需要集群,zoo.cfg的内容如下:(其中data目录和server地址需改成你真实部署机器的信息)
- <span style="font-size:18px;">tickTime=2000
- initLimit=10
- syncLimit=5
- dataDir=/home/dubbo/zookeeper-3.3.3/data
- clientPort=2181
- server.1=ip1
- server.2=ip2</span>
并在data目录下放置myid文件:(上面zoo.cfg中的dataDir)
- <span style="font-size:18px;">mkdir data
- vi myid</span>
启动
- <span style="font-size:18px;">./bin/zkServer.sh start</span>
停止
- <span style="font-size:18px;">./bin/zkServer.sh stop</span>
管理控制台安装
管理控制台为内部裁剪版本,开源部分主要包含:路由规则,动态配置,服务降级,访问控制,权重调整,负载均衡,等管理功能。
安装
- <span style="font-size:18px;">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</span>
配置: (或将dubbo.properties放在当前用户目录下)
- <span style="font-size:18px;">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</span>
启动
- <span style="font-size:18px;">./bin/startup.sh</span>
停止
- <span style="font-size:18px;">./bin/shutdown.sh</span>
访问(注意我个人修改了默认的端口)(用户:root,密码:root)
- <span style="font-size:18px;">http://127.0.0.1:8090/
- </span>
注册中心抽象
Dubbo将注册中心进行抽象,使得它可以外接不同的存储媒介给注册中心提供服务,有ZooKeeper,Memcached,Redis等。Dubbo抽象后,用户可以进行扩展,我们通过分析ZooKeeper这个实现来了解注册中心的低层。
进过抽象之后,用户 只需要实现对应的Registry和RegistryFactory就可以了,ZooKeeper就是实现了ZookeeperRegistry,和ZookeeperRegistryFactory。
进过抽象之后,用户 只需要实现对应的Registry和RegistryFactory就可以了,ZooKeeper就是实现了ZookeeperRegistry,和ZookeeperRegistryFactory。
ZookeeperRegistryFactory的实现很简单,就是返回一个ZookeeperRegistry实例,所以主要的东西是在ZookeeperRegistry中实现的,在ZookeeperRegistry用户需要实现注册URL,注销URL,URL订阅,URL注销订阅和URL查询,在这里面设计到Zookeeper服务端的调用,都被封装到ZookeeperClient中,ZookeeperClient服务进行Server连接,断链;资源的CRUD。
ZooKeeper的价值
由于引入了ZooKeeper作为存储媒介,也就把ZooKeeper的特性引进来。
首先是负载均衡,单注册中心的承载能力是有限的,在流量达到一定程度的时候就需要分流,负载均衡就是为了分流而存在的,一个ZooKeeper群配合相应的Web应用就可以很容易达到负载均衡;
资源同步,单单有负载均衡还不够,节点之间的数据和资源需要同步,ZooKeeper集群就天然具备有这样的功能;
命名服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就完成了服务的发布。其他特性还有Mast选举,分布式锁等。
首先是负载均衡,单注册中心的承载能力是有限的,在流量达到一定程度的时候就需要分流,负载均衡就是为了分流而存在的,一个ZooKeeper群配合相应的Web应用就可以很容易达到负载均衡;
资源同步,单单有负载均衡还不够,节点之间的数据和资源需要同步,ZooKeeper集群就天然具备有这样的功能;
命名服务,将树状结构用于维护全局的服务地址列表,服务提供者在启动的时候,向ZK上的指定节点/dubbo/${serviceName}/providers目录下写入自己的URL地址,这个操作就完成了服务的发布。其他特性还有Mast选举,分布式锁等。
相关推荐
dubbo-admin-2.5.4.war+zookeeper-3.4.6.tar
安装dubbo管理控制台的容器 2.dubbo-admin-2.4.1.war 管理控制台项目 3.dubbo-demo-consumer-2.1.5-assembly.tar.gz dubbo消费者示例项目 4.dubbo-demo-provider-2.1.5-assembly.tar.gz dubbo服务提供者示例项目 5....
dubbo-admin是管理dubbo的一个阿里的官方的war包,比较稳定的版本2.5.4版本,一直在使用,分享给大家:dubbo-admin-2.5.4.war,使用方式如下: 1、将war包放入tomcat中webapps下,删除其文件再unzip dubbo-admin-...
dubbo开发时,需要用到的dubbo-monitor 和Zookeeper
CentOS下的dubbo.war(即dubbo的war包)+dubbo-monitor-simple-2.5.3-assembly.tar.gz+zookeeper-3.4.12.tar.gz
jmeter的dubbo插件,jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar,适用于JMeter5.4.1版本,将解压后的文件jmeter-plugins-dubbo-2.7.8-jar-with-dependencies放在Jmeter安装目录下的\lib\ext文件夹中,...
dubbo-admin-0.0.1-SNAPSHOT 修改zookeeper连接地址 jar -jar dubbo-admin-0.0.1-SNAPSHOT
dubbo-api+dubbo-consumer+dubbo-provider+dubbo-admin+zookeeper-3.4.12 有搭建dubbo示例的所有环境 生产者与消费者示例配置已配置好
本框架集成了springboot、dubbo、zookeeper,通过消费端、服务端实现代码的前后端分离,中间还添加了common用于统一管理服务端提供的所有接口以及实体类
jmeter-plugins-dubbo-2.7.1-jar-with-dependencies 系统压测工具包
jmeter-plugins-dubbo with-dependencies jmeter-plugins-dubbo-2.7.7-jar-with-dependencies.jar
dubbo-admin-2.5.4-SNAPSHOT,dubbo的后台管理war,可以通过这个查看到注册中心的消费提供着和消费者,还有监测着的信息
dubbo官方自带了dubbo-admin及dubbo-simple/dubbo-monitor-simple二个子项目用于服务治理及服务监控。 dubbo-monitor-simple是Alibaba的开源项目,用于监控在dubbo框架下接口暴露,注册情况,也可以看接口的调用...
jmeter-plugins-dubbo-2.7.1-jar-with-dependencies (1)
dubbo admin jar包 属性application.properties 文件: # centers in dubbo2.7 admin.registry.address=zookeeper://127.0.0.1:2181 admin.config-center=zookeeper://127.0.0.1:2181 admin.metadata-report.address...
dubbo-monitor-simple-2.5.8-assembly-DUBBO监控工具,
dubbo-monitor-simple-2.5.4-SNAPSHOT-assembly.tar.gz
jmeter-plugins-dubbo-2.7.1-jar-with-dependencies 2.jar jmeter本身并不支持dubbo接口的测试,需要下载第三方插件,然后将jar包放入${JMETER_HOME}\lib\ext路径下,重启即可。