0

HA とフェイルオーバーをサポートする 2 つの ActiveMQ Artemis サーバーをセットアップしようとしています。しかし、ドキュメントとこの例でわかることは、コード内の各 Artemis ノードへの接続とセッションをセットアップする必要があるため、Artemis はスケーラブルではないということです。つまり、3 台目のサーバーを追加して Artemis を拡張したい場合、そのサーバーへの接続とセッションが存在するコードの新しいリリースを作成する必要がありますよね?

それはまた、障害が発生したサーバーが起動してクラスターに再び表示されたときに、新しい接続と新しいセッションを手動で作成する必要があることを意味しますか?

4

2 に答える 2

1

この方法でスケーリングするには、UDP マルチキャストまたは JGroups を使用する検出グループを使用する必要があります。

その後、アプリケーション側で検出構成をセットアップして、Artemis ノードを検出できます。これらはすべて、ドキュメントのクラスタリングのセクションで例を挙げて説明されています。

于 2016-08-09T12:24:51.290 に答える
0

あなたが引用した例は、STRICT <message-load-balancing>. クラスターを使用する場合の汎用クライアント構成の例ではありません。

もちろん、クラスター内のすべてのノードに接続する必要はありません。通常のクラスター化された環境では、多数の異なるクライアントがクラスター ノードの 1 つだけに接続されているため、メッセージを効率的に消費できます。クラスタリング用のブローカーの構成と、その構成がクライアントに与える影響の詳細については、クラスタリングのドキュメントを参照してください。

フェールオーバーの場合、HA 用の接続を構成するだけで (例: tcp://host:61616?ha=true)、マスター ノードに障害が発生した場合に自動的にスレーブに接続されます。高可用性のためのブローカーの構成の詳細については、HA のドキュメントを参照してください。

于 2018-12-20T16:20:29.503 に答える