
当服务提供者启动时,中r注服务提供者将自己提供的册中服务信息注册到注册中心 ,注册中心将这些信息记录下来 。心原析服务消费者启动时,理分向注册中心发起订阅,中r注将自己感兴趣的册中服务提供者的信息拉取到本地并缓存起来,用于后续远程调用。心原析另外,理分注册中心能够感知到服务提供者新增或者下线 ,中r注并更新自己的册中服务信息,同时通知服务消费者告知服务提供者新增/下线,心原析从而消费者也可以动态感知到服务提供者的理分变化。建站模板

一、中r注ZooKeeper注册中心
ZooKeeper 是册中 Apache 的顶级项目。ZooKeeper 为分布式应用提供了高效且可靠的心原析分布式协调服务,提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。在解决分布式数据一致性方面,ZooKeeper 并没有直接采用 Paxos 算法 ,而是采用了名为 ZAB 的一致性协议。
1.1 ZooKeeper数据结构ZooKeeper 的数据模型是高防服务器一个树形结构的文件系统。Dubbo服务在ZooKeeper中的数据结构(旧版模型,Dubbo2.7版本后路由数据、配置数据不再写到该目录下)如下图所示 。

ZooKeeper中的节点分为持久节点 、持久顺序节点 、临时节点、临时顺序节点 。Dubbo使用ZooKeeper作为注册中心时,不关心节点的创建顺序,只会创建持久节点和临时节点。
持久节点: 服务注册后保证节点不会丢失,服务器租用注册中心重启也会存在 。临时节点 : 服务注册后连接丢失或session超时,注册的节点会自动被移除 。1.2 ZooKeeper的Watcher机制客户端和服务器维持数据交互通常有两种形式:
客户端定时向服务器轮询服务器主动向客户端推送数据ZooKeeper采用的是方式2,主动向客户端推送数据 。客户端注册监听它关心的节点(注册Watcher监听指定节点),当节点状态发生变化(数据变化、子节点增减变化)时 ,则相应的Watcher被触发,ZooKeeper 服务会通知客户端 ,云计算这就是Watcher机制 。
Watcher有以下特点
