ZK 有 watch事件,是一次性触发的,当 watch监视的数据发生变化时,ZK会通知设置了该 watch 的client, 即watcher。
同样,其watcher是监听数据发送了某些变化,那就一定会有对应的事件类型和状态类型。
- 事件类型(ZNode节点相关的)
- EventType.NodeCreated
- EventType.NodeDataChanged
- EventType.NodeChildrenChanged
- EventType.NodeDeleted
针对监听的那个节点,而不包括其子节点。
- 状态类型(是跟客户端实例相关的)
- KeeperState.Disconnected 连接不上
- KeeperState.SyncConnected 连接上
- KeeperState.AuthFailed 认证失败
- KeeperState.Expired session过期失效
我对你监控的动作叫 watch,监控的那个人叫 watcher。 watch事件是一次性的。
多个ZK是单一视图的。