我们正在使用jGroups构建两个群集:“server”和“app”。它们是独立的集群,在不同的机器上运行(通过JMS相互通信)。我们的一些代码只需要在集群中的一个节点上运行,因此我们使用jGroups中的“coordinator”/ master概念来选择运行该代码的节点。
我们还有另一项要求:当我们的任何群集节点死亡时,我们需要通知服务器管理员。我们可以让每个群集节点监视器进行成员身份更改,但是我们无法从“app”群集节点发送失败通知,只能从“服务器”群集节点发送失败通知。
最后,问题:是否可以在不参与协调员/主人选举的情况下加入jGroups频道/群集?那么“服务器”集群节点可以作为仅观察者成员加入“app”集群(接收“查看已更改”事件,但不参与选举)?
答案 0 :(得分:0)
我对要求不是很清楚,但以下解决方案可能有效:
在应用程序中包含“nodeType”属性,并从属性文件中读取它。 更改选举算法,以便只有“app”节点类型参与选举,节点类型“server”丢弃选举消息。