83、讲下Zookeeper watch机制

讲下Zookeeper watch机制

客户端,可以通过在znode上设置watch,实现实时监听znode的变化。

Watch事件是一个一次性的触发器,当被设置了Watch的数据发生了改变的时候,则服务器将这个改变发送给设置了Watch的客户端

  • 父节点的创建,修改,删除都会触发Watcher事件。
  • 子节点的创建,删除会触发Watcher事件。

一次性:一旦被触发就会移除,再次使用需要重新注册,因为每次变动都需要通知所有客户端,一次性可以减轻压力,3.6.0默认持久递归,可以触发多次

轻量:只通知发生了事件,不会告知事件内容,减轻服务器和带宽压力

Watcher 机制包括三个角色: 客户端线程、客户端的 WatchManager 以及 ZooKeeper 服务器

  • 客户端向 ZooKeeper 服务器注册一个 Watcher 监听

  • 把这个监听信息存储到客户端的 WatchManager 中

  • 当ZooKeeper 中的节点发生变化时,会通知客户端,客户端会调用相应 Watcher 对象中的回调方法。watch回调是串行同步的

你可能感兴趣的:(zookeeper,linux,分布式,watch,znode,watchManager,服务器注册)