15.6. 다중 사이트 내결함성 메시징 시스템에서 클라이언트 구성
내부 클라이언트 애플리케이션은 브로커 서버와 동일한 데이터 센터에 있는 시스템에서 실행 중인 애플리케이션입니다. 다음 그림은 이 토폴로지를 보여줍니다.
외부 클라이언트 애플리케이션은 브로커 데이터 센터 외부에 있는 시스템에서 실행 중인 애플리케이션입니다. 다음 그림은 이 토폴로지를 보여줍니다.
다음 하위 섹션에서는 데이터 센터 중단 시 다른 데이터 센터의 백업 브로커에 연결하도록 내부 및 외부 클라이언트 애플리케이션을 구성하는 예를 보여줍니다.
15.6.1. 내부 클라이언트 구성 링크 복사링크가 클립보드에 복사되었습니다!
데이터 센터 중단이 발생하면 브로커와 함께 내부 클라이언트 애플리케이션이 종료됩니다. 이러한 상황을 완화하려면 별도의 데이터 센터에서 다른 클라이언트 애플리케이션 인스턴스를 사용할 수 있어야 합니다. 데이터 센터 중단이 발생하면 수동으로 시작한 백업 브로커에 연결하기 위해 백업 클라이언트를 수동으로 시작합니다.
백업 클라이언트가 백업 브로커에 연결할 수 있도록 하려면 기본 데이터 센터의 클라이언트와 유사하게 클라이언트 연결을 구성해야 합니다.
예제
아래에는 AMQ Core Protocol JMS 클라이언트에 대한 master-slave 브로커 그룹에 대한 기본 연결 구성이 표시되어 있습니다. 이 예제에서 host1
및 host2
는 마스터 및 슬레이브 브로커의 호스트 서버입니다.
<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host1:port,tcp://host2:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);
<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”);
<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 및 AMQ JMS 클라이언트를 구성하는 예입니다. 이 예에서 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”);
<ConnectionFactory connectionFactory = new ActiveMQConnectionFactory(“(tcp://host1:port,tcp://host2:port,tcp://host3:port)?ha=true&retryInterval=100&retryIntervalMultiplier=1.0&reconnectAttempts=-1”);
Copy to Clipboard Copied! Toggle word wrap Toggle overflow AMQ JMS 클라이언트를 구성하려면 클라이언트에서 구성하는 장애 조치 URI에 백업 브로커를 포함합니다.
failover:(amqp://host1:port,amqp://host2:port,amqp://host3:port)?jms.clientID=foo&failover.maxReconnectAttempts=20
failover:(amqp://host1:port,amqp://host2:port,amqp://host3:port)?jms.clientID=foo&failover.maxReconnectAttempts=20
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
추가 리소스
장애 조치 구성에 대한 자세한 내용은 다음을 참조하십시오.
- AMQ Core Protocol JMS 클라이언트는 다시 연결 및 장애 조치(failover) 를 참조하십시오.
- AMQ JMS 클라이언트는 failover 옵션을 참조하십시오.
- 기타 지원되는 클라이언트는 링크의 AMQ Clients 섹션: Red Hat AMQ Clients 2.11 제품 설명서에서 클라이언트별 설명서를 참조하십시오.