4.10. 분할된 대기열 구성
대기열의 부분적인 순서만 필요한 대기열에서 메시지 처리를 위한 일반적인 패턴은 대기열 샤딩 을 사용하는 것입니다. 즉, 단일 논리 대기열 역할을 하지만 여러 기본 물리적 대기열에서 지원하는 anycast
주소를 정의합니다.
프로세스
-
<
;broker_instance_dir> /etc/broker.xml
구성 파일을 엽니다. address
요소를 추가하고name
속성을 설정합니다. 예를 들면 다음과 같습니다.<configuration ...> <core ...> ... <addresses> <address name="my.sharded.address"></address> </addresses> </core> </configuration>
anycast
라우팅 유형을 추가하고 원하는 수의 sharded 큐를 포함합니다. 아래 예제에서는q1
,q2
및q3
큐가임의의 캐스트
대상으로 추가됩니다.<configuration ...> <core ...> ... <addresses> <address name="my.sharded.address"> <anycast> <queue name="q1" /> <queue name="q2" /> <queue name="q3" /> </anycast> </address> </addresses> </core> </configuration>
이전 구성에 따라 my.sharded.address
로 전송된 메시지는 q1
,q2
및 q3
에 걸쳐 동일하게 배포됩니다. 클라이언트는 FQN(Fully Qualified Queue Name)을 사용할 때 특정 물리적 큐에 직접 연결할 수 있으며 해당 대기열로만 전송된 메시지를 수신할 수 있습니다.
특정 메시지를 특정 큐에 연결하기 위해 클라이언트는 각 메시지에 대한 메시지 그룹을 지정할 수 있습니다. 브로커는 메시지를 동일한 큐로 그룹화하고 하나의 소비자는 모두 처리합니다.
추가 리소스
다음에 대한 자세한 내용은 다음을 수행합니다.
- 정규화된 큐 이름, 참조 4.9절. “정규화된 큐 이름 지정”
- 메시지 그룹화는 AMQ Core Protocol JMS 문서에서 메시지 그룹 사용을 참조하십시오.