17장. 브리징 브로커
브리지는 두 브로커를 연결하고 한 브로커에서 다른 브로커로 메시지를 전달하는 방법을 제공합니다.
다음 브릿지를 사용할 수 있습니다.
- 코어
-
한 브로커에 배포된 코어 브릿지를 보여줍니다. 이 브릿지는 로컬 대기열의 메시지를 사용하여 두 번째 브로커의 주소로 전달합니다. 브로커 설치의 <
install_dir> /examples/features/standard/
디렉터리에 있는core-bridge
예제를 참조하십시오. - 미러
- 참조 16장. 브로커 연결을 사용하여 다중 사이트 내결함성 메시징 시스템 구성
- 발신자 및 수신자
- 참조 17.1절. “브로커 연결에 대한 발신자 및 수신자 구성”
- peer
- 참조 17.2절. “브로커 연결에 대한 피어 구성”
Core 브릿지의 broker.xml
요소는 브리지
입니다. 다른 브리징 기술은 < broker-connection> 요소를
사용합니다.
17.1. 브로커 연결에 대한 발신자 및 수신자 구성
broker.xml
의 <broker -connections> 섹션에 발신자 또는 수신자 브로커 연결 요소를 생성하여 브로커
를 다른 브로커에 연결할 수 있습니다.
발신자
의 경우 브로커는 다른 브로커에 메시지를 보내는 큐에 메시지 소비자를 생성합니다.
수신자
의 경우 브로커는 다른 브로커의 메시지를 수신하는 주소에 메시지 생산자를 생성합니다.
두 요소 모두 메시지 브리지 역할을 합니다. 그러나 메시지를 처리하는 데 필요한 추가 오버헤드는 없습니다. 발신자 및 수신자는 브로커의 다른 소비자 또는 생산자처럼 작동합니다.
특정 대기열은 발신자 또는 수신자가 구성할 수 있습니다. 와일드카드 표현식을 사용하여 발신자 및 수신자를 특정 주소 또는 주소 집합 과 일치시킬 수 있습니다. 발신자 또는 수신자를 구성할 때 다음 속성을 설정할 수 있습니다.
-
address-match
: 와일드카드 표현식을 사용하여 발신자 또는 수신자를 특정 주소 또는 주소 집합에 일치시킵니다. -
queue-name
: 특정 큐의 발신자 또는 수신자를 구성합니다. 주소 표현식 사용:
<broker-connections> <amqp-connection uri="tcp://HOST:PORT" name="other-server"> <sender address-match="queues.#"/> <!-- notice the local queues for remotequeues.# need to be created on this broker --> <receiver address-match="remotequeues.#"/> </amqp-connection> </broker-connections> <addresses> <address name="remotequeues.A"> <anycast> <queue name="remoteQueueA"/> </anycast> </address> <address name="queues.B"> <anycast> <queue name="localQueueB"/> </anycast> </address> </addresses>
대기열 이름 사용:
<broker-connections> <amqp-connection uri="tcp://HOST:PORT" name="other-server"> <receiver queue-name="remoteQueueA"/> <sender queue-name="localQueueB"/> </amqp-connection> </broker-connections> <addresses> <address name="remotequeues.A"> <anycast> <queue name="remoteQueueA"/> </anycast> </address> <address name="queues.B"> <anycast> <queue name="localQueueB"/> </anycast> </address> </addresses>
수신자는 이미 존재하는 로컬 큐와만 일치할 수 있습니다. 따라서 수신자가 사용 중인 경우 대기열이 로컬로 미리 생성되어 있는지 확인합니다. 그렇지 않으면 브로커가 원격 대기열 및 주소와 일치시킬 수 없습니다.
이 전송 및 수신 루프를 생성하므로 동일한 대상을 가진 발신자와 수신자를 생성하지 마십시오.