Zookeeper的watcher
watch机制特点
1.一次性触发
事件发生触发监听,一个watcher event就会被发送到设置监听的客户端,这种效果是一次性的,后续再次发生同样的事件,不会再触发。
2.事件封装
zookeeper使用watchedEvent对象来封装服务端事件,并传递。
watcherEvent(属性)
- 通知状态(keeperState)
- 事件类型(EventType)
- 节点路径(path)
3.event异步发送
watcher的通知事件从服务器端发送到客户端是异步的
4.先注册再触发
zookeeper中的watch、机制,必须客户端先去服务器端注册监听,这样事件发送才会触发监听,通知给客户端。
同一事件类型在不同的通知状态下代表的含义有所不同,下表列举了常见的通知状态和事件类型。