게이트웨이 큐 관리자로 겹치는 두 클러스터 작성
태스크의 지시사항에 따라 게이트웨이 큐 관리자가 포함된 중첩 클러스터를 구성합니다. 한 애플리케이션에 대한 메시지를 클러스터 내 다른 애플리케이션에 대한 메시지로부터 격리하는 다음 예에 대한 시작점으로 이 클러스터를 사용합니다.
이 태스크 정보
클러스터 메시지 트래픽 격리를 설명하는 데 사용되는 예제 클러스터 구성은 그림 1에 표시되어 있습니다. 예는 클러스터링: 다중 클러스터 전송 큐를 사용하는 애플리케이션 격리에 설명되어 있습니다.

예제를 구성하는 단계를 최소화하기 위해 현실적이기보다는 간단하게 구성했습니다. 이 예는 두 개의 개별 조직에서 작성된 두 개의 클러스터 통합을 나타낼 수 있습니다. 보다 현실적인 시나리오는 클러스터링: 클러스터 전송 큐 구성 방법 계획을 참조하십시오.
단계에 따라 클러스터를 구성하십시오. 클러스터는 클라이언트 애플리케이션에서 서버 애플리케이션으로의 메시지 트래픽을 격리하는 다음 예에서 사용됩니다.
지시사항은 각 클러스터에 두 개의 저장소가 있도록 두 개의 추가 큐 관리자를 추가합니다. 게이트웨이 큐 관리자( QM1 )는 성능상의 이유로 저장소로 사용되지 않습니다.
프로시저
다음에 수행할 작업
- 큐 알리어스 정의
Q1A을(를) 사용하여QM3Q1QM2(으)로 메시지를 전송하여 큐 알리어스 정의를 테스트하십시오.- 샘플 프로그램 amqsput을
QM2에서 실행하여 메시지를 넣으십시오.
C:\IBM\MQ>amqsput Q1A QM2
Sample AMQSPUT0 start
target queue is Q1A
Sample request message from QM2 to Q1 using Q1A
Sample AMQSPUT0 end - 샘플 프로그램 amqsget를 실행하여
QM3의Q1에서 메시지를 가져오십시오.
C:\IBM\MQ>amqsget Q1 QM3
Sample AMQSGET0 start
message <Sample request message from QM2 to Q1 using Q1A>
no more messages
Sample AMQSGET0 end
- 샘플 프로그램 amqsput을
- 임시 동적 응답 큐에서 요청 메시지를 송신하고 응답 메시지를 수신하여 큐 관리자 알리어스 정의를 테스트하십시오.
다이어그램은 응답 메시지가
RQ(이)라는 임시 동적 큐로 되돌아가는 경로를 보여줍니다.QM3에 연결된 서버 애플리케이션은 큐 관리자 이름QM2을(를) 사용하여 응답 큐를 엽니다. 대기열 관리자 이름QM2는 게이트웨이 대기열 관리자QM1의 클러스터된 대기열 관리자 별칭으로 정의됩니다.QM3답장 메시지를 게이트웨이 큐 매니저QM1로 라우팅합니다.QM1은(는) 메시지를QM2(으)로 라우트합니다.그림 2. 큐 관리자 알리어스를 사용하여 응답 메시지를 다른 클러스터로 리턴 
라우팅이 작동하는 방식은 다음과 같습니다. 각 클러스터의 모든 큐 관리자는 게이트웨이 큐 관리자
QM1에 큐 관리자 별칭 정의가 있습니다. 이러한 알리어스는 모든 클러스터에서 클러스터됩니다. 각 알리어스에서 큐 관리자로의 회색 파선 화살표는 각 큐 관리자 알리어스가 최소 하나 이상의 클러스터에 있는 실제 큐 관리자로 해석됨을 표시합니다. 이 경우QM2별명은CL1및CL2클러스터 모두에서 클러스터되며CL1의 실제 큐 관리자QM2(으)로 해석됩니다. 서버 애플리케이션은 큐 이름RQ에 대한 응답을 사용하여 응답 메시지를 작성하고 큐 관리자 이름QM2에 응답합니다. 클러스터CL2의QM1에 큐 매니저 별칭 정의QM2가 정의되어 있고 클러스터CL2에 큐 매니저QM2가 없기 때문에 메시지는 게이트웨이 큐 매니저QM1로 라우팅됩니다. 메시지를 대상 큐 관리자로 송신할 수 없으므로 이 메시지는 알리어스 정의가 있는 큐 관리자에게 송신됩니다.게이트웨이 큐 관리자(
QM1)는 메시지를 클러스터 전송 큐에 배치하여QM2로 전송합니다. 게이트웨이 큐 매니저QM1는QM2에 대한QM1의 큐 매니저 별칭 정의가QM2를 실제 대상 큐 매니저로 정의하고 있기 때문에 메시지를QM2로 라우팅합니다. 정의는 순환되지 않습니다. 알리어스 정의는 실제 정의만 참조할 수 있고 알리어스는 그 자체를 가리킬 수 없기 때문입니다. 실제 정의는 게이트웨이 큐 매니저QM1에 의해 해결됩니다.QM1와QM2가 모두 동일한 클러스터CL1에 있기 때문입니다. 게이트웨이 큐 매니저QM1는CL1의 저장소에서QM2에 대한 연결 정보를 찾아내고, 메시지를QM2로 라우팅합니다. 메시지가QM1에 의해 재라우트되도록 하려면 서버 애플리케이션은 DEFBIND 옵션MQBND_BIND_NOT_FIXED로 설정하여 응답 큐를 열어야 합니다. 서버 애플리케이션이MQBND_BIND_ON_OPEN옵션을 사용하여 응답 큐를 연 경우 메시지는 재라우트되지 않고 데드-레터 큐에 있게 됩니다.QM3에 트리거가 있는 클러스터된 요청 큐를 작성하십시오.*... On QM3 DEFINE QLOCAL(QR) CLUSTER(CL2) TRIGGER INITQ(SYSTEM.DEFAULT.INITIATION.QUEUE) PROCESS(ECHO) REPLACE- 게이트웨이 큐 매니저
QM1에서 클러스터된 큐 별칭 정의(QR)를 만듭니다.*... On gateway queue manager QM1 DEFINE QALIAS(QRA) CLUSNL(ALL) TARGET(QR) TARGTYPE(QUEUE) DEFBIND(NOTFIXED) REPLACE - 샘플 에코 프로그램 amqsech를
QM3에서 시작하도록 프로세스 정의를 작성하십시오.*... On QM3 DEFINE PROCESS(ECHO) APPLICID(AMQSECH) REPLACE - 임시 동적 응답 큐를 작성하려면
QM2에서 샘플 프로그램 amqsreq에 대한 모델 큐를 작성하십시오.*... On QM2 DEFINE QMODEL(SYSTEM.SAMPLE.REPLY) REPLACE - 큐 알리어스 정의
QRA을(를) 사용하여QM3QRQM2(으)로 요청을 전송하여 큐 관리자 알리어스 정의를 테스트하십시오.QM3에서 트리거 모니터 프로그램을 실행하십시오.
출력은 다음과 같습니다.runmqtrm -m QM3
C:\IBM\MQ>runmqtrm -m QM3
5724-H72 (C) Copyright IBM Corp. 1994, 2026. ALL RIGHTS RESERVED.
01/02/2012 16:17:15: IBM MQ trigger monitor started.
__________________________________________________
01/02/2012 16:17:15: Waiting for a trigger message- 샘플 프로그램 amqsreq를
QM2에서 실행하여 요청을 넣고 응답을 기다리십시오.
C:\IBM\MQ>amqsreq QRA QM2
Sample AMQSREQ0 start
server queue is QRA
replies to 4F2961C802290020
A request message from QM2 to QR on QM3
response <A request message from QM2 to QR on QM3>
no more replies
Sample AMQSREQ0 end