9.2. ブローカークラスターの設定方法
クラスターのメンバーごとに ブローカーインスタンスを作成 し、各ブローカーインスタンスにクラスター設定を追加して、ブローカークラスターを設定します。
クラスター設定は、次のもので設定されます。
- 検出グループ
- 動的検出で使用するために、検出グループは、ブローカーインスタンスがクラスター内の他のメンバーを検出する方法を定義します。Discovery は、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
設定ファイルを開き、クラスター設定を追加します。この例では、
broker1
に接続するようにbroker2
を設定します。<!-- 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>
関連情報
- ブローカークラスターの作成と、メッセージの再配布とクライアントの負荷分散の設定の詳細は、AMQ Broker の設定 の ブローカークラスターの設定 を参照してください。