2

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

4

1 回答 1

2

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

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

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

于 2013-01-04T16:52:15.307 回答