29.3. クライアント側のロードバランシング

JBoss EAP メッセージングのクライアント側のロードバランシングでは、単一のセッションファクトリーを使用して作成される後続のセッションをクラスターの異なるノードに接続できます。これにより、セッションがクラスターのノードにスムーズに広がり、特定のノードに集中することがありません。

クライアントファクトリーによって使用されるロードバランシングポリシーを宣言するための推奨される方法は、<connection-factory> リソースの connection-load-balancing-policy-class-name 属性を設定することです。JBoss EAP メッセージングでは、以下の追加設定なしのロードバランシングポリシーが提供され、独自のロードバランシングも実装できます。

ラウンドロビン

このポリシーでは、最初のノードがランダムに選択され、後続の各ノードが同じ順序で順番に選択されます。

たとえば、ノードの選択順序が、BCDABCDABDABCDABC のようになります。

org.apache.activemq.artemis.api.core.client.loadbalance.RoundRobinConnectionLoadBalancingPolicyconnection-load-balancing-policy-class-name として使用します。

ランダム

このポリシーでは、各ノードはランダムに選択されます。

org.apache.activemq.artemis.api.core.client.loadbalance.RandomConnectionLoadBalancingPolicyconnection-load-balancing-policy-class-name として使用します。

ランダムスティッキー

このポリシーでは、最初のノードがランダムに選択され、後続の接続に再利用されます。

org.apache.activemq.artemis.api.core.client.loadbalance.RandomStickyConnectionLoadBalancingPolicyconnection-load-balancing-policy-class-name として使用します。

最初の要素

このポリシーでは、最初 (0 番目) のノードが常に返されます。

org.apache.activemq.artemis.api.core.client.loadbalance.FirstElementConnectionLoadBalancingPolicyconnection-load-balancing-policy-class-name として使用します。

また、org.apache.activemq.artemis.api.core.client.loadbalance.ConnectionLoadBalancingPolicy インターフェースを実装して、独自のポリシーを実装することもできます。