2016-11-18 34 views
0

我在分布式Java应用程序中使用旧版本的JGroups(2.12.2)。如何在较旧的jgroups版本中更改JGroups群集协调器

在某些时候,我需要使当前的集群协调器节点不再是集群协调器。这样一个不同的(随机的,但不是当前的)节点接管。

问题1:这样做的正确方法是什么?

目前我只是从集群中断开,几秒钟后重新回到:

channel.disconnect(); 
... 
channel.connect(clusterName); 

问题2:多长时间,我回连之前等待?如果我立即重新连接,这是否仍然有效(另一个节点是否成为协调者)?

回答

0

首先,2.12.2太老了,我建议升级到更新的版本!

问题1:是的,这当然有效。另一种方法是使用[1]中描述的方法。您也可以编程方式确定下一个视图;在[1]中,旧坐标移动到列表的末尾,但视图可以由用户代码确定。检查JGroups手册以生成自定义视图。

问题2:disconnect()和connect()之间不需要休眠时间。

[1] https://github.com/belaban/JGroups/wiki/Changing-the-coordinator-of-a-cluster