Zookeeper - 如何在集群中获取节点崩溃事件?

时间:2013-01-04 08:30:51

标签: apache-zookeeper

我使用Zookeeper作为群集的群组通信框架。在我的集群中,每当节点崩溃时,我想要一个同样的事件。这该怎么做 ? 之前我使用JGroup作为组通信框架,其中集群内的每个节点都使用连接到同一个通道,每当特定节点崩溃时,Jgroup就会生成一个事件。

1 个答案:

答案 0 :(得分:1)

您可以让每个节点在zookeeper中创建一个ephemeral znode。当节点崩溃时,短暂的znode将消失。

现在要通知新节点的加入和离开,让所有短暂的znode成为同一父znode的子节点,并在父节点的子节点上注册watch。添加和删​​除子znode时,将触发此监视,允许您查看节点何时加入或离开集群。

请记住每次发生时重新注册您的手表,并注意如果某个节点加入并快速离开,您可能会错过该事件。