当zookeeper作为Dubbo的注册中心时,是如何工作的?

Zookeeper作为Dubbo的注册中心:Container负责启动,加载服务提供者Provider,Provider会在Zookeeper下的Dubbo节点下的providers节点下创建一个子节点并写入URL,该路径下的所有子节点都是服务提供者Provider,此时这些子节点为临时节点,一旦机器出现故障无法提供服务,节点就会随着会话的结束而删除。Provider、Registry和Consumer是基于长连接的,一旦机器故障,注册中心会告诉消费者Consumer,而且监控中心是Dubbo重要的一部分,会随时监控Provider和Consumer的动向,它在启动的时候会在Provider上注册一个watcher来监听节点的变化,它也能感知Provider是否宕机。还有一个特性就是zookeeper的节点结构设计,它以服务名和类型作为节点路径(eg:/dubbo/servicename/),符合dubbo订阅和通知的需求,即使服务提供者和消费者频繁变更,也不会造成太大的影响。

你可能感兴趣的:(Dubbo,zookeeper)