2016-11-18 33 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