介绍

针对每一个节点的操作 ,zk都有一个监督者 ->Watcher
zk 事件是一次性的,触发后销毁。
根据不同的操作,触发不同的事件

在ZooKeeper中,接口类Watcher用于表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含KeeperState和EventType两个枚举类,分别代表了通知状态和事件类型,同时定义了事件的回调方法:process(WatchedEvent event)

命令

新版本
stat -w /path 监听节点属性的变化
get -w /path 监听节点数据的变化

ls -w /path 给父节点创建watch事件, 监听子节点的变化(增、删)

事件类型

  • 创建父节点触发 NodeCreated
  • 修改父节点事件 NodeDataChanged
  • 删除父节点事件 NodeDeleted

  • 创建/删除子节点事件 NodeChildrenChanged

  • 修改子节点不触发任何事件,需要设置子节点 watch

    watcher使用场景

    统一资源配置
    image.png