15.6. 다중 사이트 내결함성 메시징 시스템에서 클라이언트 구성
내부 클라이언트 애플리케이션은 브로커 서버와 동일한 데이터 센터에 있는 시스템에서 실행 중인 애플리케이션입니다. 다음 그림은 이 토폴로지를 보여줍니다.
그림 15.6. 다중 사이트 내결함성 메시징 시스템의 내부 클라이언트
외부 클라이언트 애플리케이션은 브로커 데이터 센터 외부에 있는 시스템에서 실행 중인 애플리케이션입니다. 다음 그림은 이 토폴로지를 보여줍니다.
그림 15.7. 다중 사이트 내결함성 메시징 시스템의 외부 클라이언트
다음 하위 섹션에서는 데이터 센터 중단 시 다른 데이터 센터의 백업 브로커에 연결하도록 내부 및 외부 클라이언트 애플리케이션을 구성하는 예를 보여줍니다.
15.6.1. 내부 클라이언트 구성
데이터 센터 중단이 발생하면 브로커와 함께 내부 클라이언트 애플리케이션이 종료됩니다. 이 상황을 완화하려면 별도의 데이터 센터에서 사용 가능한 클라이언트 애플리케이션의 다른 인스턴스가 있어야 합니다. 데이터 센터 중단 시 백업 클라이언트를 수동으로 시작하여 수동으로 시작한 백업 브로커에 연결합니다.
백업 클라이언트가 백업 브로커에 연결할 수 있도록 하려면 기본 데이터 센터의 클라이언트와 유사하게 클라이언트 연결을 구성해야 합니다.
예
master-slave 브로커 그룹에 대한 AMQ Core Protocol JMS 클라이언트에 대한 기본 연결 구성은 다음과 같습니다. 이 예에서 host1
및 host2
는 마스터 및 슬레이브 브로커의 호스트 서버입니다.
<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host1:port,tcp://host2:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);
데이터 센터 중단 시 백업 브로커에 연결하도록 백업 클라이언트를 구성하려면 유사한 연결 구성을 사용하지만 백업 브로커 서버의 호스트 이름만 지정합니다. 이 예에서 백업 브로커 서버는 host3입니다.
<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host3:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);
추가 리소스
- 브로커 네트워크 연결 구성에 대한 자세한 내용은 2장. 네트워크 연결에서 어셉터 및 커넥터 구성 을 참조하십시오.
15.6.2. 외부 클라이언트 구성
외부 브로커 클라이언트가 데이터 센터 중단 시 메시징 데이터를 계속 생성하거나 사용하려면 다른 데이터 센터의 브로커로 장애 조치하도록 클라이언트를 구성해야 합니다. 다중 사이트 내결함성 시스템의 경우 중단 시 수동으로 시작하는 백업 브로커로 장애 조치하도록 클라이언트를 구성합니다.
예
다음은 기본 master-slave 그룹을 사용할 수 없는 경우 AMQ Core Protocol JMS 및 Apache Cryostat JMS 클라이언트의 Red Hat 빌드가 백업 브로커로 장애 조치되도록 구성하는 예입니다. 이 예제에서 host1
및 host2
는 기본 마스터 및 슬레이브 브로커의 호스트 서버이며 host3
은 데이터 센터 중단 시 수동으로 시작하는 백업 브로커의 호스트 서버입니다.
AMQ Core Protocol JMS 클라이언트를 구성하려면 클라이언트가 연결하려고 하는 정렬된 브로커 목록에 백업 브로커를 포함합니다.
<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host1:port,tcp://host2:port,tcp://host3:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);
Red Hat build of Apache Cryostat JMS 클라이언트를 구성하려면 클라이언트에서 구성하는 장애 조치 URI에 백업 브로커를 포함합니다.
failover:(amqp://host1:port,amqp://host2:port,amqp://host3:port)?jms.clientID=myclient&failover.maxReconnectAttempts=20
추가 리소스
다음의 장애 조치 구성에 대한 자세한 내용은 다음을 참조하십시오.
- AMQ Core Protocol JMS 클라이언트의 경우 Cryostat 옵션을 참조하십시오.
- Red Hat build of Apache Cryostat JMS 클라이언트의 경우 Cryostat 옵션을 참조하십시오.
- 기타 지원되는 클라이언트는 Red Hat AMQ Clients 제품 설명서의 클라이언트별 문서를 참조하십시오.