2013-01-04 45 views
2

我使用Zookeeper作为群集通信框架。在我的集群中,每当一个节点崩溃时,我想要一个相同的事件。这个怎么做 ? 早些时候我使用JGroup作为组通信框架,集群内部的每个节点都用于连接到同一个通道,并且每当特定节点崩溃时,Jgroup就会生成一个事件。Zookeeper - 如何在集群中获取节点崩溃事件?

回答

1

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

现在要通知新节点加入和离开,让所有短暂znode成为同一父节点的子节点,并在父znode的子节点上注册watch。当添加和移除子节点时,该手表将会启动,以便您查看节点何时加入或离开集群。

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

+0

嗨 - 非常感谢您的回答。我尝试过,并且按照您的解释工作。 – Sidd

相关问题