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

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

クラスター設定は以下で構成されます。

検出グループ
動的検出で使用する場合、検出グループは、ブローカーインスタンスがクラスター内の他のメンバーをどのように検出するかを定義します。検出は、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 設定ファイルを開き、クラスター設定を追加します。

    この例では、broker2broker1 に接続するように設定します。

    <!-- 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」を参照してください。