文章目录
零、学习目标
- 掌握Watcher机制的通知状态和事件类型
- 掌握选举机制的类型
一、导入新课
- 上一节中,主要讲解了ZooKeeper的数据模型。ZooKeeper分布式协调服务提供了两种重要的机制,分别是Watcher机制和选举机制。其中,Watcher机制用于实现分布式的通知功能。ZooKeeper提供的选举机制是用于保证各节点的协同工作。因此,本节将针对ZooKeeper的Watcher机制和选举机制行详细讲解。
二、新课讲解
(一)Watcher机制
1、Watcher机制
- 在ZooKeeper中,引入了Watch机制来实现这种分布式的通知功能。ZooKeeper允许客户端向服务端注册一个Watch监听,当服务端的一些事件触发了这个Watch,那么就会向指定客户端发送一个事件通知,来实现分布式的通知功能。
2、Watcher架构
- Watcher实现包含三个部分:Zookeeper服务端、Zookeeper客户端、客户端的ZKWatchManager对象
- 客户端首先将Watcher注册到服务端,同时将Watcher对象保存到客户端的Watch管理器中。当ZooKeeper服务端监听的数据状态发生变化时,服务端会主动通知客户端,接着客户端的Watch管理器会触发相关Watcher来回调相应处理逻辑,从而完成整体的数据发布/订阅流程。