zookeeper如何实时通知客户端数据变更?

1,951 阅读1分钟

问题

服务提供者挂了,zk如何知道挂了?如何通知服务消费者?

zk如何知道服务提供者挂了?

核心思想是,服务提供者挂了,节点自动删除。

这个节点,叫临时节点。


节点分类
1.临时节点
2.非临时节点


临时节点,只能是叶子节点。


服务提供者挂了,如何实时通知zk,而不是1s的心跳之后才得到通知?

因为是临时节点,所以自动删除临时节点数据。

zk如何通知服务消费者?

基于watch通知。

客户端宕机,临时节点自动删除。

数据变更,主动通知服务消费者。


设计模式

事件监听模式,一对多广播。


架构图