zookeeper 三 : watcher 机制

watcher 机制

  1. 针对每一个节点的操作,zk 都会有一个监督者 watcher
  2. 当监控的某个 znode 发生变化,会触发 watcher 事件
  3. watcher 是一次性的,触发后立即销毁
  4. 父,子节点的增删改都能触发其 watcher
  5. 不同操作,触发的 watcher 事件不同

get path [watch]
NodeDataChanged、NodeDeleted

stat path [watch]
NodeCreated

ls/ls2 path [watch]
NodeChildrenChanged

类型
1. 父节点创建事件:NodeCreated
QQ截图20180713084518.png

  1. 修改父节点数据事件:NodeDataChanged
    QQ截图20180713084554.png

  2. 删除父节点事件:NodeDeleted
    QQ截图20180713084620.png

  3. ls 为父节点设置 watcher,创建子节点触发:NodeChildrenChanged
    QQ截图20180713084643.png

  4. ls 为父节点设置 watcher,删除子节点触发:NodeChildrenChanged
    QQ截图20180713084709.png

  5. ls 为父节点设置 watcher,修改子节点不触发事件
    QQ截图20180713084735.png

使用场景

  1. 统一资源配置
    QQ截图20180713084808.png

猜你喜欢

转载自blog.csdn.net/aimeimeits/article/details/81025430