2019年面试官最喜欢问的28道ZooKeeper面试题( 九 )

工作机制:

(1)客户端注册 watcher

(2)服务端处理 watcher

(3)客户端回调 watcher

Watcher 特性总结:

(1)一次性

无论是服务端还是客户端 , 一旦一个 Watcher 被 触 发 , Zookeeper 都会将其从相应的存储中移除 。 这样的设计有效的减轻了服务端的压力 , 不然对于更新非常频繁的节点 , 服务端会不断的向客户端发送事件通知 , 无论对于网络还是服务端的压力都非常大 。

(2)客户端串行执行

客户端 Watcher 回调的过程是一个串行同步的过程 。

(3)轻量

3.1、Watcher 通知非常简单 , 只会告诉客户端发生了事件 , 而不会说明事件的具体内容 。

3.2、客户端向服务端注册 Watcher 的时候 , 并不会把客户端真实的 Watcher 对象实体传递到服务端 , 仅仅是在客户端请求中使用 boolean 类型属性进行了标记 。

推荐阅读