watcher 机制
- 针对每一个节点的操作,zk 都会有一个监督者 watcher
- 当监控的某个 znode 发生变化,会触发 watcher 事件
- watcher 是一次性的,触发后立即销毁
- 父,子节点的增删改都能触发其 watcher
- 不同操作,触发的 watcher 事件不同
get path [watch] NodeDataChanged、NodeDeleted
stat path [watch] NodeCreated
ls/ls2 path [watch] NodeChildrenChanged
类型
-
父节点创建事件:NodeCreated
-
修改父节点数据事件:NodeDataChanged
-
删除父节点事件:NodeDeleted
-
ls 为父节点设置 watcher,创建子节点触发:NodeChildrenChanged
-
ls 为父节点设置 watcher,删除子节点触发:NodeChildrenChanged
-
ls 为父节点设置 watcher,修改子节点不触发事件
使用场景
- 统一资源配置