29.3. 클라이언트 측 로드 밸런싱
JBoss EAP 메시징 클라이언트 측 부하 분산을 사용하면 단일 세션 팩토리를 사용하여 생성한 후속 세션을 클러스터의 다른 노드에 연결할 수 있습니다. 이렇게 하면 세션이 클러스터의 노드에 원활히 분배되고 특정 노드에서는 축소되지 않습니다.
클라이언트 팩토리에서 사용하는 로드 밸런싱 정책을 선언하는 권장 방법은 <connection
특성을 설정하는 것입니다. JBoss EAP 메시징은 바로 사용할 수 있는 기본 로드 밸런싱 정책을 제공하며, 자체 로드 밸런싱 정책을 구현할 수도 있습니다.
-factory> 리소스의 connection-load-balancing-policy-class-
name
- 라운드 로빈
이 정책을 사용하면 첫 번째 노드를 임의로 선택한 다음 각 후속 노드를 동일한 순서로 순차적으로 선택합니다.
예를 들어 B, C, D, A,
B
,C
,D
,A
,B
또는D
,A
,B
,C
,D
,A
,B
,C, 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
으로 사용합니다.- 첫 번째 요소
이 정책에서 첫 번째 또는 0번째를 사용하면 노드가 항상 반환됩니다.
org.apache.activemq.artemis.api.core.client.loadbalance.FirstElementConnectionLoadBalancingPolicy
를connection-load-balancing-policy-class-name
으로 사용합니다.
org.apache.activemq.artemis.api.core.client.loadbalance.ConnectionLoadBalancingPolicy 인터페이스를 구현하여 자체 정책을 구현할 수도 있습니다.