学习笔记 zookeeper

通知机制(watch)

客户端注册监听它关心的目录节点,当目录节点发生变化(数据改变、被删除、子目录节点增加删除)时,zookeeper会通知客户端。

是什么:异步回调的触发机制

ZooKeeper支持watch(观察)的概念。客户端可以在每个znode结点上设置一个观察。如果被观察服务端的znode结点有变更,那么watch就会被触发,这个watch所属的客户端将接收到一个通知包被告知结点已经发生变化,把相应的事件通知给设置过Watcher的Client端。zookeeper里的所有读取操作都有设置watch的选项。

watch事件理解
1.一次触发
当数据有变化zkserver向客户端发送一个watch,是一次性的动作。
想继续watch要 客户端重新设置。
2.发往客户端
Watches是异步发往客户端的,Zookeeper提供顺序保证:在看到watch事件之前绝不会看到变化,这样不同客户端看到的是–致性的顺序。
3.为数据设置watch
4.时序性和一致性
关于watches,Zookeeper维护这些保证:
(1) Watches和其他事件、watches 和异步恢复都是有序的。Zookeeper客户端保证每件事都是有序派发
(2)客户端在看到新数据之前先看到watch事件
(3)对应更新顺序的watches事件顺序由Zookeeper服务所见

发布了33 篇原创文章 · 获赞 0 · 访问量 480

猜你喜欢

转载自blog.csdn.net/naerjiajia207/article/details/103942732