Zookeeper 对节点的 watch监听通知是永久的吗?为什么 不是永久的?

不是官方声明一个 Watch 事件是一个一次性的触发器当被设置了 Watch

的数据发生了改变的时候则服务器将这个改变发送给设置了 Watch 的客户端

以便通知它们

为什么不是永久的举个例子如果服务端变动频繁而监听的客户端很多情况 

每次变动都要通知到所有的客户端给网络和服务器造成很大压力

一般是客户端执行 getData(“/节点 A”,true),如果节点 A 发生了变更或删除

客户端会得到它的 watch 事件但是在之后节点 A 又发生了变更而客户端又没 

有设置 watch 事件就不再给客户端发送

在实际应用中很多情况下我们的客户端不需要知道服务端的每一次变动 

只要最新的数据即可

posted @ 2020-07-20 06:55  咔啡  阅读(542)  评论(0编辑  收藏  举报