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