watcher机制

  1. 针对每一个znode都会有一个监督者---watcher

  2. 当监控的某个znode发生了变化,则出发watcher事件

  3. Zk中的watcher是一次性的,触发后立即销毁

  4. 父子节点,增删改都能够触发watcher

  5. 针对不同类型的操作,触发的watcher事件也不同

1.父节点watcher事件的类型

1.1创建父节点会触发:nodeCreated

Zookeeper进击之路4(watcher机制)

1.2修改父节点数据会触发:nodeDataChanged

Zookeeper进击之路4(watcher机制)

1.3删除父节点会触发:nodeDelete

Zookeeper进击之路4(watcher机制)

2.子节点watcher事件的类型

2.1创建子节点的时候会触发:nodeChildrenChanged

Zookeeper进击之路4(watcher机制)

2.2删除子节点的时候会触发:nodeChildrenChanged

Zookeeper进击之路4(watcher机制)

2.3 ls为父节点创建事件,更新子节点的时候不会触发事件

原因是zookeeper设置的问题节点变更不应该watch父节点,应该关注子节点

Zookeeper进击之路4(watcher机制)

 

相关文章: