如何在较旧的jgroups版本中更改JGroups群集协调器

时间:2016-11-18 17:29:25

标签: jgroups

我在分布式Java应用程序中使用旧版本的JGroups(2.12.2)。

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

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

目前我只是断开与群集的连接并在几秒钟后重新连接:

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

问题2:在连接之前我应该​​等多久?如果我立即重新连接,这仍然有效(另一个节点是否成为协调员)?

1 个答案:

答案 0 :(得分:0)

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

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

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

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