異なるノードがリーダーまたはフォロワーのいずれかになる分散システムを構築しました。ほとんどのユースケースでは、リーダーとフォロワーが1人しかありません。リーダーは、通常、サーバー上では単一ですが、フォロワーは他のサーバー(同じJVM内のサーバーの一部)上で実行されています。リーダー/フォロワー関係のベストJGroupsスタック構成
フォロワーノードは、互いにメッセージを送信する必要はなく、リーダーノードとだけ通信します。現在、tcpgossipプロトコルを使用して、クラスタのメンバーを検出しています。私のGossipRouterはリーダーノードと同じJVMで動作します。実際にはうまくいきますが、私のクラスターは十分に安定しているようです。
tcpgossipプロトコルを理解している限り、各ノードはGossipRouterに到達し、そこから情報を取得します。したがって、私の場合、すべてのフォロワノードは、リーダーノードが動作しているサーバーに接続します。私はフォロワノードのいずれかをオフにしたときしかし、私は他のフォロワーからの警告メッセージを表示することができ、その状態をノード:
WARNING:スレッド= TransferQueueBundler、MYCLUSTER、ROCKET-21632金11月18日10時22分11秒CET 2016 VERIFY_SUSPECT:[VERIFY_SUSPECT:ARE_YOU_DEAD]、TP:[VERIFY_SUSPECT:TP:[VERIFY_SUSPECT:VERIFY_SUSPECT:TPM: CLUSTER_NAME = MYCLUSTER]
WARNING:スレッド= TransferQueueBundler、MYCLUSTER、ROCKET-21632金11月18日10時21分19秒CET 2016 org.jgroups.protocols.TP sendToMembers JGRP000034:ROCKET-21632:失敗銭ゼウス-10187への鼎メッセージ:java.net.SocketTimeoutException:
ROCKET-21632
とzeus-10187
は2人のフォロワーある
をタイムアウトして接続します。私はGossipRouterが使用されているのでフォロワーはお互いに話し合うことはないと予想されたが、それはそうではないようだ。
いくつかのノードが決して話すことのないクラスタを構築する方法はありますか?
迅速な回答ありがとうございます。私はそれを試して、それがどのように行くのかを教えてあげます。ありがとう! – Azeq