16.3.4. 라이브 전용으로 제한된 고가용성 구성
실시간 전용 HA 정책을 사용하면 메시지를 손실하지 않고 클러스터에서 브로커를 종료할 수 있습니다. 실시간 브로커를 정상적으로 중지하면 메시지 및 트랜잭션 상태를 다른 라이브 브로커에 복사한 다음 종료합니다. 그런 다음 클라이언트는 다른 브로커에 다시 연결하여 메시지를 계속 보내고 받을 수 있습니다.
실시간 전용 HA 정책은 브로커가 정상적으로 중지되는 경우에만 처리합니다. 예기치 않은 브로커 오류를 처리하지 않습니다.
실시간 HA는 메시지 손실을 방지하지만 메시지 순서를 유지하지 않을 수 있습니다. 실시간 전용 HA로 구성된 브로커가 중지되면 해당 메시지는 다른 브로커의 대기열 끝에 추가됩니다.
브로커를 축소할 준비가 되면 새 브로커를 처리할 준비가 되어 있는지에 대한 연결이 끊어지기 전에 메시지를 클라이언트에 보냅니다. 그러나 초기 브로커의 확장을 완료한 후에만 클라이언트가 새 브로커에 다시 연결해야 합니다. 이렇게 하면 클라이언트가 다시 연결할 때 큐 또는 트랜잭션과 같은 상태를 다른 브로커에서 사용할 수 있습니다. 일반 다시 연결 설정은 클라이언트가 다시 연결할 때 적용되므로 축소하는 데 필요한 시간을 처리하기에 충분한 높은 값을 설정해야 합니다.
다음 절차에서는 축소하도록 클러스터에서 각 브로커를 구성하는 방법을 설명합니다. 이 절차를 완료하면 브로커가 정상적으로 중지될 때마다 메시지 및 트랜잭션 상태를 클러스터의 다른 브로커에 복사합니다.
절차
-
첫 번째 브로커의 <
broker-instance-dir> /etc/broker.xml
구성 파일을 엽니다. 실시간 전용 HA 정책을 사용하도록 브로커를 구성합니다.
<configuration> <core> ... <ha-policy> <live-only> </live-only> </ha-policy> ... </core> </configuration>
브로커 클러스터를 축소하는 방법을 구성합니다.
이 브로커를 축소해야 하는 브로커 또는 브로커 그룹을 지정합니다.
축소하려면… do this… 클러스터의 특정 브로커
축소할 브로커의 커넥터를 지정합니다.
<live-only> <scale-down> <connectors> <connector-ref>broker1-connector</connector-ref> </connectors> </scale-down> </live-only>
클러스터의 모든 브로커
브로커 클러스터의 검색 그룹을 지정합니다.
<live-only> <scale-down> <discovery-group-ref discovery-group-name="my-discovery-group"/> </scale-down> </live-only>
특정 브로커 그룹의 브로커
브로커 그룹을 지정합니다.
<live-only> <scale-down> <group-name>my-group-name</group-name> </scale-down> </live-only>
- 클러스터의 나머지 각 브로커에 대해 이 절차를 반복합니다.
추가 리소스
- 클러스터를 축소하기 위해 라이브 전용으로 사용하는 브로커 클러스터의 예는 축소된 예제 프로그램 을 참조하십시오.