9.2. ブローカークラスターの設定方法
クラスターの各メンバーに ブローカーインスタンスを作成して から、クラスター設定を各ブローカーインスタンスに追加して、ブローカークラスターを設定します。
クラスター設定は以下で構成されます。
- 検出グループ
- 動的検出で使用する場合、検出グループは、ブローカーインスタンスがクラスター内の他のメンバーをどのように検出するかを定義します。検出は、UDP または JGroups のいずれかを使用できます。
- ブロードキャストグループ
- 動的検出で使用する場合、ブロードキャストグループは、ブローカーインスタンスがクラスター内の他のメンバーにクラスター関連の情報を送信する方法を定義します。ブロードキャストは UDP または JGroups のいずれかを使用できますが、対応する検出グループと一致する必要があります。
- クラスター接続
- ブローカーインスタンスがクラスターの他のメンバーに接続する方法。検出グループまたはクラスターメンバーの静的リストを指定できます。メッセージ再配布および最大ホッププロパティーを指定することもできます。
9.2.1. ブローカークラスターの作成
この手順では、静的検出を使用する基本的な 2 つのブローカーで構成されるクラスターを作成する方法を説明します。
手順
artemis createコマンドを使用して、最初のブローカーインスタンスを作成します。この例では、
broker1という新しいブローカーインスタンスを作成します。$ sudo INSTALL_DIR/bin/artemis create broker1 --user user --password pass --role amqクラスターの 2 番目のメンバーに 2 番目のブローカーインスタンスを作成します。
追加のブローカーインスタンスごとに、
--port-offsetパラメーターを使用して以前のブローカーインスタンスとのポートの競合を避ける必要があります。この例では、
broker2という 2 つ目のブローカーインスタンスを作成します。$ sudo INSTALL_DIR/bin/artemis create broker2 --port-offset 100 --user user --password pass --role amq最初のブローカーインスタンスの
BROKER_INSTANCE_DIR/etc/broker.xml設定ファイルを開き、クラスター設定を追加します。静的検出の場合は、コネクターと静的クラスター接続を追加する必要があります。この例では、
broker1がbroker2に接続するように設定します。<!-- Connectors --> <connectors> <connector name="netty-connector">tcp://localhost:61616</connector> <!-- connector to broker2 --> <connector name="broker2-connector">tcp://localhost:61617</connector> </connectors> <!-- Clustering configuration --> <cluster-connections> <cluster-connection name="my-cluster"> <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <static-connectors> <connector-ref>broker2-connector</connector-ref> </static-connectors> </cluster-connection> </cluster-connections>2 番目のブローカーインスタンスの
BROKER_INSTANCE_DIR/etc/broker.xml設定ファイルを開き、クラスター設定を追加します。この例では、
broker2がbroker1に接続するように設定します。<!-- Connectors --> <connectors> <connector name="netty-connector">tcp://localhost:61617</connector> <!-- connector to broker1 --> <connector name="broker1-connector">tcp://localhost:61616</connector> </connectors> <!-- Clustering configuration --> <cluster-connections> <cluster-connection name="my-cluster"> <connector-ref>netty-connector</connector-ref> <retry-interval>500</retry-interval> <use-duplicate-detection>true</use-duplicate-detection> <message-load-balancing>STRICT</message-load-balancing> <max-hops>1</max-hops> <static-connectors> <connector-ref>broker1-connector</connector-ref> </static-connectors> </cluster-connection> </cluster-connections>
関連情報
- ブローカークラスターの作成、ならびにメッセージの再配布およびクライアントの負荷分散の設定に関する詳細は、『Configuring AMQ Broker積』の「Setting up a broker cluster」を参照してください。