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

関連する問題