您的位置:首页 > 数据库 > Redis

zookeeper在Dubbo中扮演了一个什么角色,起到了什么作用?

2017-05-25 00:00 411 查看
zookeeper是dubbo推荐的注册中心。



流程:
1,服务提供者启动时向/dubbo/com.foo.BarService/providers目录下写入URL
2,服务消费者启动时订阅/dubbo/com.foo.BarService/providers目录下的URL
向/dubbo/com.foo.BarService/consumers目录下写入自己的URL
3,监控中心启动时订阅/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=“*”/>,可订阅服务的所有分组和所有版本的提供者。

有以下观点:

dubbo的服务提供者会在zookeeper上面创建一个临时节点,表明自己的ip和端口,当消费者需要使用服务时,会先在zookeeper上面查询,找到服务提供者,做一些负载的选择(比如随机、轮流),然后按照这些信息,访问服务提供者。

Zookeeper一个分布式的服务框架,是树型的目录服务的数据存储,能做到集群管理数据 ,这里能很好的作为Dubbo服务的注册中心,Dubbo能与Zookeeper做到集群部署,当提供者出现断电等异常停机时,Zookeeper注册中心能自动删除提供者信息,当提供者重启时,能自动恢复注册数据,以及订阅请求。

可参考源码来源有更多讲解:mingli.com

朋友需要请加球球:二零四二八四九二三七
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息