zookeeper在dubbo中的作用

公司使用的dubbo强依赖zookeeper,经常在测试环境下,zk挂了,服务起不来,听闻阿里内部使用dubbo是不依赖zk的(待考证)。对于zk在dubbo的作用,第一反应就是服务注册与发现,具体来看。

工作流程是:

  • 服务提供者启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的 URL 地址
  • 服务消费者启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者 URL 地址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址
  • 监控中心启动时: 订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者 URL 地址

zk的作用:

  • 当提供者出现断电等异常停机时,注册中心能自动删除提供者信息
  • 当注册中心重启时,能自动恢复注册数据,以及订阅请求
  • 当会话过期时,能自动恢复注册数据,以及订阅请求
  • 当设置 <dubbo:registry check="false" /> 时,记录失败注册和订阅请求,后台定时重试
  • 可通过 <dubbo:registry username="admin" password="1234" /> 设置 zookeeper 登录信息
  • 可通过 <dubbo:registry group="dubbo" /> 设置 zookeeper 的根节点,不设置将使用无根树
  • 支持 * 号通配符 <dubbo:reference group="*" version="*" />,可订阅服务的所有分组和所有版本的提供者

其实,除了zk可以作为dubbo的注册中心,当然也是官方推荐的,dubbo还支持用redis和广播来做服务注册。

如果觉得我的文章对您有用,请在支付宝公益平台找个项目捐点钱。 @sxzhou Sep 24, 2017

奉献爱心