Zookeeper是Apacahe Hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbo服务的注册中心,工业强度较高,可用于生产环境,并推荐使用,参见:
http://zookeeper.apache.org
流程说明:
服务提供者启动时
向/dubbo/com.foo.BarService/providers目录下写入自己的URL地址。
服务消费者启动时
订阅/dubbo/com.foo.BarService/providers目录下的提供者URL地址。
并向/dubbo/com.foo.BarService/consumers目录下写入自己的URL地址。
监控中心启动时
订阅/dubbo/com.foo.BarService目录下的所有提供者和消费者URL地址。
支持以下功能:
1、
当提供者出现断电等异常停机时,注册中心能自动删除提供者信息。
2、
当注册中心重启时,能自动恢复注册数据,以及订阅请求。
3、
当会话过期时,能自动恢复注册数据,以及订阅请求。
4、
当设置<dubbo:registry check="false" />时,记录失败注册和订阅请求,后台定时重试。
5、
可通过<dubbo:registry username="admin" password="1234" />设置zookeeper登录信息。
6、
可通过<dubbo:registry group="dubbo" />设置zookeeper的根节点,不设置将使用无根树。
7、
支持*号通配符<dubbo:reference group="*" version="*" />,可订阅服务的所有分组和所有版本的提供者。
在provider和consumer中增加zookeeper客户端jar包依赖:
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.3.3</version>
</dependency>