2.3. 라우터에서 메시지를 라우팅하는 방법
라우터 네트워크에서 라우팅 은 메시지가 대상에 전달되는 프로세스입니다. 이를 위해 AMQ Interconnect는 두 가지 라우팅 메커니즘을 제공합니다.
- 메시지 라우팅
메시지 라우팅을 사용하면 anycast 및 multicast 패턴으로 메시지를 배포할 수 있습니다. 라우터는 메시지 브로커 없이 클라이언트 간에 메시지를 분산하는 직접 라우팅과 라우터에서 클라이언트가 메시지 브로커를 통해 메시지를 교환할 수 있도록 하는 간접 라우팅 모두에 사용할 수 있습니다.
메시지 라우팅은 다음 유형의 요구 사항에 유용합니다.
기본, 기본 메시지 라우팅
AMQ Interconnect는 기본적으로 메시지를 자동으로 라우팅하므로 라우팅 동작이 기본값과 다른 경우에만 수동 구성이 필요합니다.
메시지 기반 라우팅 패턴
메시지 라우팅은 anycast 및 멀티캐스트 라우팅 패턴을 모두 지원합니다. 여러 소비자 간에 개별 메시지를 로드 밸런싱하고 여러 구독자에게 멀티 캐스트(또는 팬 아웃) 메시지를 로드할 수 있습니다.
메시지 전달 순서가 중요하지 않은 경우 여러 메시지 브로커에 메시지 분할
한 생산자의 메시지를 분할하면 생산자의 메시지가 전송된 순서와 다른 순서로 수신될 수 있습니다.
- 링크 라우팅
링크 라우팅을 사용하면 라우터 네트워크를 통해 이동하는 발신자와 수신자 사이에 전용 가상 "path"를 설정할 수 있습니다. 링크 경로는 일반적으로 직접 연결이 불가능한 시나리오의 메시지 브로커에 클라이언트를 연결하는 데 사용됩니다. 따라서 링크 경로는 다음과 같은 메시지 라우팅을 통해 사용할 수 없는 메시징 기능을 활성화합니다.
트랜잭션 메시징
링크 라우팅은 단일 브로커에 대한 로컬 트랜잭션을 지원합니다. 분산 트랜잭션은 지원되지 않습니다.
보장된 메시지 전달 순서
sharded 큐에 대한 링크 라우팅은 해당 링크의 모든 메시지가 동일한 브로커 인스턴스로 이동하도록 하여 생산자 메시지의 전달 순서를 유지합니다.
엔드 투 엔드 흐름 제어
흐름 제어는 수신자에서 발신자로 연결되는 링크 경로 전반에 걸쳐 슬롯이 유입되는 "현실"입니다.
서버 측 선택기
사용자는 링크 경로를 사용하여 브로커 서브스크립션에 대한 서버 측 선택기를 제공할 수 있습니다.
소비자별 승인
링크 경로를 사용하면 브로커가 수정된 전달 상태를 해석할 수 있습니다. 예를 들어 브로커는 전달 할
수없는 -here=true 변형 전달 상태를 사용하여 모든 혼란의 재전송을 방지 할 수
있습니다.