我使用Zookeeper作为集群的群组通信框架。在我的集群中,每当一个节点崩溃时,我都想要一个同样的事件。该怎么做呢?早些时候,我使用JGroup作为组通信框架,集群中的每个节点都用来连接到相同的通道,每当特定节点崩溃时,Jgroup都会生成一个事件。
发布于 2013-01-05 00:52:15
您可以让每个节点在zookeeper中创建一个ephemeral znode。当一个节点崩溃时,短暂的znode将消失。
现在要通知新节点的加入和离开,让所有临时znode都是同一父znode的子节点,并在父znode的子节点上注册一个watch。此监视将在添加和删除子znode时触发,允许您查看节点何时加入或离开集群。
请记住,每次触发时都要重新注册您的手表,并且要注意,如果节点很快加入和离开,您可能会错过该事件。
https://stackoverflow.com/questions/14153640
复制相似问题