是否可以在ZooKeeper中的所有后代节点上查看事件?

jdo*_*oig 7 apache-zookeeper

使用ZooKeeper时是否可以监视后代znodes上的所有事件?

例如,如果我有:

     (/)
     /  \
   (/a)  (/b)
   /       \
(/c)       (/d)
Run Code Online (Sandbox Code Playgroud)

有没有办法观察根对/ a,/ b,/ c和/ d的更改?

sbr*_*ges 8

没有ZooKeeper api可以做到这一点,你必须自己编写.

如果您使用的是Curator,则可以使用PathCache来维护节点上的监视以及该节点的子节点.当您发现正在观看的根的后代时,您可以编写一些代码来创建更多的PathCaches.

如果您要推出自己的版本,那么实现起来确实非常棘手.这篇博客描述了一些问题.