9.2. ブローカークラスターの設定方法

クラスターのメンバーごとに ブローカーインスタンスを作成 し、各ブローカーインスタンスにクラスター設定を追加して、ブローカークラスターを設定します。

クラスター設定は、次のもので設定されます。

検出グループ
動的検出で使用するために、検出グループは、ブローカーインスタンスがクラスター内の他のメンバーを検出する方法を定義します。Discovery は、UDP または JGroups のいずれかを使用できます。
ブロードキャストグループ
動的検出で使用するために、ブロードキャストグループは、ブローカーインスタンスがクラスター関連情報をクラスター内の他のメンバーに送信する方法を定義します。ブロードキャストは UDP または JGroups のいずれかを使用できますが、対応する検出グループと一致する必要があります。
クラスター接続
ブローカーインスタンスがクラスターの他のメンバーに接続する方法。検出グループまたはクラスターメンバーの静的リストを指定できます。メッセージの再配布と最大ホッププロパティーを指定することもできます。

9.2.1. ブローカークラスターの作成

この手順では、静的検出を使用して基本的な 2 ブローカークラスターを作成する方法を示します。

手順

  1. artemis create コマンドを使用して、最初のブローカーインスタンスを作成します。

    この例では、broker1 という名前の新しいブローカーインスタンスを作成します。

    $ sudo INSTALL_DIR/bin/artemis create broker1 --user user --password pass --role amq
  2. クラスターの 2 番目のメンバーの 2 番目のブローカーインスタンスを作成します。

    追加のブローカーインスタンスごとに、--port-offset パラメーターを使用して、以前のブローカーインスタンスとのポートの衝突を回避する必要があります。

    この例では、broker2 という 2 番目のブローカーインスタンスを作成します。

    $ sudo INSTALL_DIR/bin/artemis create broker2 --port-offset 100 --user user --password pass --role amq
  3. 最初のブローカーインスタンスの場合、BROKER_INSTANCE_DIR/etc/broker.xml 設定ファイルを開き、クラスター設定を追加します。

    静的検出の場合、コネクターと静的クラスター接続を追加する必要があります。この例では、broker1broker2 に接続するように設定します。

    <!-- 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>
  4. 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 の設定ブローカークラスターの設定 を参照してください。