29.3. 客户端负载均衡
借助 JBoss EAP 消息客户端负载平衡,使用单一会话工厂创建的后续会话可以连接到群集的不同节点。这允许会话在群集的节点间均匀分布,而不会在任何特定节点上断开。
声明客户端工厂使用的负载平衡策略的建议方法是设置 <connection 属性。JBoss EAP 消息传递提供下列出厂负载平衡策略,您也可以自行实施:
-factory> 资源的 connection-load-balancing-policy- class-name
- round robin
采用此策略时,会随机选择第一个节点,然后按相同顺序按顺序选择每个后续节点。
例如,节点可能按
B、C、D、A、B、C、D、A、B 或D、A、B、C、D、A、B、B、、A、BC、A、B、C的顺序选择。使用
org.apache.activemq.artemis.api.core.client.loadbalance.RoundRobinConnectionLoadBalancingPolicy作为connection-load-balancing-policy-class-name。- 随机
采用此策略时,每个节点都会随机选择。
使用
org.apache.activemq.artemis.api.core.client.loadbalance.RandomConnectionLoadBalancingPolicy作为connection-load-balancing-policy-class-name。- 随机粘滞
采用此策略时,会随机选择第一个节点,然后重新用于后续连接。
使用
org.apache.activemq.artemis.api.core.client.loadbalance.RandomStickyConnectionLoadBalancingPolicy作为connection-load-balancing-policy-class-name。- 第一个元素
采用此策略时,将始终返回第一个或 0th 节点。
使用
org.apache.activemq.artemis.api.core.client.loadbalance.FirstElementConnectionLoadBalancingPolicy作为connection-load-balancing-policy-class-name。
您还可以通过实施接口 org.apache.activemq.artemis.api.core.client.loadbalance.ConnectionLoadBalancingPolicy来实施自己的策略