zookeeper ——watcher

这应该不是目录

1.watcher定义和说明

1.1定义

在ZooKeeper中,Watcher是一种机制,用于在节点(znode)发生特定事件时通知客户端。这种机制使得ZooKeeper能够提供一种分布式的协调和同步服务,确保多个客户端能够及时响应数据变化。

1.2特性

1.3watcher的通知状态Watcher.Event.KeeperState

1.4watcher的事件类型Event.EventType

1.5基本流程

  1. 客户端注册Watcher: 客户端通过ZooKeeper API(如getData、exists、getChildren等)向服务器注册Watcher。
    注册时,客户端会将Watcher对象存储在客户端的WatchManager中。
    Watcher是一个接口,客户端需要实现其中的process(WatchedEvent event)方法来定义事件处理逻辑。
  2. 服务器处理Watcher注册: 服务器接收到客户端的注册请求后,会将Watcher对象与对应的znode(ZooKeeper中的数据节点)绑定,并记录在内存中。
    服务器不会持久化存储这些Watcher,因此一旦服务器重启,所有注册的Watcher都将失效。
  3. 事件触发与通知: 当znode的状态发生变化(如数据变更、子节点变更等)时,服务器会触发与该znode绑定的Watcher。 服务器将包含事件信息(如事件类型、znode路径等)的WatchedEvent对象封装成通知,并发送给客户端。
  4. 客户端接收并处理通知: 客户端的EventThread线程负责接收来自服务器的Watcher事件通知。 EventThread从WatchManager中取出对应的Watcher对象,并调用其process(WatchedEvent
    event)方法来处理事件。 客户端根据事件类型执行相应的逻辑,如重新获取znode数据、更新本地状态等。
相关推荐
Aray123425 分钟前
论服务网格在云原生微服务项目中的设计与落地实践
微服务·云原生·架构
Zhao_yani1 小时前
k8s基础知识
云原生·容器·kubernetes
淡然的煎蛋1 小时前
开始使用RabbitMQ
分布式·rabbitmq·ruby
IT大白鼠3 小时前
K8S发展历史及未来展望
云原生·容器·kubernetes
运维大师3 小时前
【云原生与DevOps】08-多云容灾架构设计:跨Region自动切换实践
运维·云原生·devops
weixin_439930644 小时前
Kubernetes(K8s)入门实践
云原生·容器·kubernetes·k8s
阿里云云原生17 小时前
不改代码也能监控 AI Agent?揭秘 OBI 如何在内核层精准解析 GenAI 语义流量
云原生·agent
飞翔沫沫情19 小时前
K8s Alloy 采集 Pod 控制台日志
云原生·容器·kubernetes
笨鸟先飞的橘猫1 天前
skynet——分布式支持
分布式·skynet
摇滚侠1 天前
云原生 Java 架构师的第一课 K8s+Docker+KubeSphere+DevOps 19-25
java·云原生·kubernetes