4.10. sharded 큐 구성
부분적으로만 순서가 필요한 대기열에서 메시지를 처리하는 일반적인 패턴은 큐 분할 을 사용하는 것입니다. 즉, 단일 논리 대기열 역할을 하지만 많은 기본 물리적 대기열에서 지원하는 anycast
주소를 정의합니다.
절차
-
<
broker-instance-dir> /etc/broker.xml
구성 파일을 엽니다. address
요소를 추가하고name
속성을 설정합니다. 예를 들면 다음과 같습니다.<configuration ...> <core ...> ... <addresses> <address name="my.sharded.address"></address> </addresses> </core> </configuration>
anycast
라우팅 유형을 추가하고 원하는 수의 샤드 큐를 포함합니다. 아래 예에서q1
,q2
및q3
대기열이모든cast
대상으로 추가됩니다.<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)을 사용할 때 특정 물리적 대기열에 직접 연결하고 해당 특정 대기열로만 전송된 메시지를 수신할 수 있습니다.
특정 대기열에 특정 메시지를 연결하기 위해 클라이언트는 각 메시지에 대한 메시지 그룹을 지정할 수 있습니다. 브로커는 동일한 큐로 메시지를 그룹화하고 하나의 소비자는 모두 처리합니다.
추가 리소스
다음에 대한 자세한 내용은 다음을 수행합니다.
- fully qualified Queue Names, see 4.9절. “정규화된 대기열 이름 지정”
- 메시지 그룹화를 참조하십시오. 11장. 메시지 그룹화