zookeeper中watch机制简介说明
下文笔者讲述zookeeper中的watch机制简介说明,如下所示:
Watcher简介
Watcher是客户端注册在某个Znode上的触发器 当这个Znode节点发生变化时(增删改查) 就会触发Znode对应的注册事件, 注册的客户端就会收到异步通知 然后做出业务的改变
Watcher监听机制
zookeeper允许客户端向服务端的某个Znode注册一个Watcher监听 当服务端的一些指定事件触发了这个Watcher 服务端会向指定客户端发送一个事件通知来实现分布式的通知功能 然后客户端根据 Watcher通知状态和事件类型做出业务上的改变
Watcher监听机制
zookeeper的Watcher机制: 主要包括客户端线程、客户端WatcherManager、Zookeeper服务器三部分 客户端向zookeeper服务器注册Watcher的同时 同时会将Watcher对象存储在客户端的WatchManager中 当zookeeper服务器触发watcher事件后 会向客户端发送通知 客户端线程从WatcherManager中取出对应的Watcher对象来执行回调逻辑
Watcher特性说明
1. 一次性 一个Watch事件是一个一次性的触发器 一次性触发,客户端只会收到一次这样的信息。 2.异步的 zookeeper服务器发送watcher的通知事件到客户端是异步的 不能期望能够监控到节点每次的变化 zookeeper只能保证最终的一致性,而无法保证强一致性 3.轻量级 Watcher通知非常简单 它只是通知发生了事件,而不会传递事件对象内容。 4.客户端串行 执行客户端Watcher回调的过程是一个串行同步的过程 5.注册watcher使用 getData、exists、getChildren方法 6.触发watcher使用 create、delete、setData方法
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。