Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
18.15.4. サーバー側の負荷分散
重要なクラスタートポロジーは次のとおりです。
- 対称クラスター: 対称クラスターでは、各クラスターノードがクラスター内の他のすべてのノードに直接接続されます。対称クラスターを作成するには、
max-hops
属性を 1 に設定して、クラスターの接続を定義します。注記対称クラスターでは、各ノードは他のすべてのノード上に存在するキューと、それらのコンシューマーを認識します。この知識により、ノード間でメッセージの負荷分散および再配布方法を決定できます。
18.15.4.1. クラスター接続の設定
クラスター接続は、
クラスターのノード間で接続を作成し、クラスター接続を形成するとき、HornetQ はサーバー設定ファイル(
cluster-connection
要素のサーバー設定ファイル(standalone.xml
および domain.xml
)で設定されます。HornetQ サーバーごとに 0 個以上のクラスター接続を定義できます。
<cluster-connections> <cluster-connection name="my-cluster"> <address>jms</address> <connector-ref>netty-connector</connector-ref> <check-period>1000</check-period> <connection-ttl>5000</connection-ttl> <min-large-message-size>50000</min-large-message-size> <call-timeout>5000</call-timeout> <retry-interval>500</retry-interval> <retry-interval-multiplier>1.0</retry-interval-multiplier> <max-retry-interval>5000</max-retry-interval> <reconnect-attempts>-1</reconnect-attempts> <use-duplicate-detection>true</use-duplicate-detection> <forward-when-no-consumers>false</forward-when-no-consumers> <max-hops>1</max-hops> <confirmation-window-size>32000</confirmation-window-size> <call-failover-timeout>30000</call-failover-timeout> <notification-interval>1000</notification-interval> <notification-attempts>2</notification-attempts> <discovery-group-ref discovery-group-name="my-discovery-group"/> </cluster-connection> </cluster-connections>下表は設定可能な属性の説明になります。
表18.13 クラスター接続の設定可能な属性
属性 | 説明 | デフォルト |
---|---|---|
address | 各クラスター接続は、この値で始まるアドレスに送信されるメッセージのみに適用されます。アドレスは任意の値にすることができ、アドレスの異なる値を持つ多くのクラスター接続があり、それらのアドレスのメッセージをサーバーの異なるクラスターに同時に分散できます。ワイルドカードの一致は使用されません。 | |
connector-ref | 適切なクラスタートポロジーを持つようにするため、クラスターの他のノードへ送信されるコネクターを参照する必須の属性です。 | |
check-period | クラスター接続が別のサーバーからの ping を受信しなかったことを検証するために使用される期間 (ミリ秒単位) を表します。 | 30,000 ミリ秒 |
connection-ttl | クラスターの特定のノードからメッセージを受信しなくなった場合に、クラスター接続が有効でなければならない期間を指定します。 | 60,000 ミリ秒 |
min-large-message-size | メッセージのサイズ (バイト単位) がこの値を越える場合、ネットワーク上で他のクラスターメンバーへ送信されるときに複数のセグメントに分割されます。 | 102400 バイト |
call-timeout | 例外が発生する前にクラスター接続上で送信されたパケットが応答を待つ期間 (ミリ秒単位) を指定します。 | 30,000 ミリ秒 |
retry-interval | クラスターのノード間でクラスター接続が作成され、ターゲットノードが起動されていないか、再起動された場合、他のノードからのクラスター接続は再起動するまでターゲットへの接続を再試行します。パラメーター retry-interval は再試行の間隔(ミリ秒単位)を定義します。 | 500 ミリ秒 |
retry-interval-multiplier | これは、再試行ごとに retry-interval をインクリメントするために使用されます。 | 1 |
max-retry-interval | 再試行の最大遅延 (ミリ秒単位) を表します。 | 2000 ミリ秒 |
reconnect-attempts | クラスターでシステムがノードへの接続を試行する回数を定義します。 | -1 (無限) |
use-duplicate-detection | クラスター接続はブリッジを使用してノードをリンクし、ブリッジは転送される各メッセージに複製 ID プロパティーを追加するように設定できます。ブリッジのターゲットノードがクラッシュしてからリカバリーすると、メッセージがソースノードから送信される可能性があります。重複検出を有効にすると、重複メッセージはフィルターされ、ターゲットノードで受信時に無視されます。 | True |
forward-when-no-consumers | 他のノードにコンシューマーが存在するかどうかに関わらず、クラスターの他のノードの間でメッセージがラウンドロビン方式で配布されるかどうかを決定するパラメーターです。 | False |
max-hops | このサーバーに接続された他の HornetQ サーバーへメッセージを負荷分散する方法を決定します。 | -1 |
confirmation-window-size | 接続しているサーバーから確認を送信するために使用されるウインドウのサイズ (バイト単位)。 | 1048576 |
call-failover-timeout | フェールオーバーの試行中に呼び出しが行われるときに使用されます。 | -1 (タイムアウトなし) |
notification-interval | クラスターにアタッチするときにクラスター接続自体をブロードキャストする頻度 (ミリ秒単位) を決定します。 | 1000 ミリ秒 |
notification-attempts | クラスターに接続するときにクラスター接続自体をブロードキャストする回数を定義します。 | 2 |
discovery-group-ref | 現在のクラスター接続が接続するクラスターにある、他のサーバーのリストを取得するために使用されるディスカバリーグループを決定します。 |
standalone.xml
および domain.xml
)で定義されるクラスターユーザーおよびクラスターパスワードを使用します。
<cluster-user>HORNETQ.CLUSTER.ADMIN.USER</cluster-user> <cluster-password>NEW USER</cluster-password>
警告
リモートクライアントがデフォルト値を使用してサーバーに接続しないようにするため、これらのクレデンシャルのデフォルト値を変更することが重要になります。