채널
IBM® MQ에서는 세 가지 유형의 채널(메시지 채널, MQI 채널 및 AMQP 채널)을 사용할 수 있습니다.
이러한 세 가지로 구분되는 채널의 유형을 혼동하지 마십시오.
- 메시지 채널
- 메시지 채널은 두 큐 관리자 간의 단방향 통신 링크입니다. IBM MQ는 메시지 채널을 사용하여 큐 관리자 간 메시지를 전송합니다. 양 방향으로 메시지를 전송하려면 각 방향에 대한 채널을 정의해야 합니다.
- MQI 채널(MQI channel)
- MQI 채널은 양방향이며 애플리케이션(MQI 클라이언트)을 서버 시스템 상의 큐 관리자에 연결합니다. IBM MQ는 MQI 채널을 사용하여 MQI 클라이언트와 큐 관리자 간에 MQI 호출과 응답을 전송합니다.
AMQP 채널(AMQP channel)
- AMQP 채널은 양방향이며 AMQP 클라이언트를 서버 시스템의 큐 관리자에 연결합니다. IBM MQ에서는 AMQP 호출과 응답을 AMQP 애플리케이션과 큐 관리자 간에 전송하는 데 AMQP 채널을 사용합니다.
메시지 채널을 참조할 때 채널은 종종 채널 정의와 동의어로 사용됩니다. 일반적으로 문맥 상에서 양측이 있는 완전한 채널을 말하는지 한 측만 있는 채널 정의를 말하는지 알 수 있습니다.
메시지 채널
메시지 채널은 다음 유형 중 하나일 수 있습니다.
메시지 채널 정의 유형 | 설명 |
---|---|
송신자 | 송신자 채널은 큐 관리자가 다른 큐 관리자로 메시지를 송신하는 데 사용하는 메시지 채널입니다. 이 송신자 채널을 사용하여 메시지를 송신하려면 다른 큐 관리자에 이 송신자 채널과 동일한 이름의 수신자 채널도 작성해야 합니다. "콜백" 메커니즘을 구현 중인 경우 송신자 채널을 요청자 채널과 함께 사용할 수도 있습니다. |
Server | 서버 채널은 큐 관리자가 다른 큐 관리자로 메시지를 송신하는 데 사용하는 메시지 채널입니다. 이 서버 채널을 사용하여 메시지를 송신하려면 다른 큐 관리자에 이 서버 채널과 동일한 이름의 수신자 채널도 작성해야 합니다. 또한 요청자 채널과 함께 서버 채널을 사용할 수도 있습니다. 이 경우에 채널의 다른 쪽의 요청자 채널 정의는 서버 채널 정의를 시작하도록 요청합니다. 서버는 요청자에게 메시지를 송신합니다. 서버가 파트너 채널의 연결 이름을 알고 있으면 통신을 시작할 수도 있습니다. |
수신자 | 수신자 채널은 큐 관리자가 다른 큐 관리자로부터 메시지를 수신하는 데 사용하는 메시지 채널입니다. 수신자 채널을 사용하여 메시지를 수신하려면 다른 큐 관리자에 이 수신자 채널과 동일한 이름의 송신자 또는 서버 채널도 작성해야 합니다. |
요청자 | 요청자 채널은 큐 관리자가 다른 큐 관리자로부터 메시지를 수신하는 데 사용하는 메시지 채널입니다. 요청자 채널은 원격 측에서 정의된 파트너 채널을 시작하도록 요청할 수 있습니다. 파트너 채널이 서버 채널인 경우 서버 채널은 시작 요청을 승인하고 서버 채널 정의에서 식별된 전송 큐에서 요청자 채널로 메시지를 보내기 시작합니다. 파트너 채널이 송신자 채널인 경우 송신자 채널은 시작 요청을 승인하지만, 요청자와의 연결을 닫습니다. 송신자 채널이 시작되고 파트너 요청자 채널과의 세션을 협상하며 송신자 채널 정의에서 식별된 전송 큐에서 메시지를 보내기 시작합니다. 이 후자의 경우에는 특히 요청차 채널이 송신자 채널에 콜백을 요청하는 콜백 메커니즘을 제공합니다. |
클러스터 송신자 | 클러스터 송신자(CLUSSDR) 채널 정의는 클러스터 큐 관리자가 전체 저장소 중 하나에 클러스터 정보를 송신할 수 있는 채널의 송신측을 정의합니다. 클러스터 송신자 채널은 큐 관리자의 상태에 대한 모든 변경사항을 저장소에 알리기 위해 사용됩니다(예: 큐의 추가 또는 제거). 이를 사용하여 메시지를 전송할 수도 있습니다. 전체 저장소 큐 관리자 자체에는 서로를 가리키는 클러스터 송신자 채널이 있습니다. 이를 사용하여 서로간에 클러스터 상태 변경사항을 교환할 수 있습니다. 큐 관리자의 CLUSSDR 채널 정의가 어떠한 전체 저장소를 가리키는지는 별로중요하지 않습니다. 초기 접속이 이루어진 후에는 추가적인 클러스터 큐 관리자 오브젝트가 필요에 따라 자동으로 정의됩니다. 따라서 큐 관리자가 클러스터 정보를 모든 전체 저장소로 송신하고 메시지를 모든 큐 관리자로 송신할 수 있습니다. 자세한 정보는 큐 관리자 클러스터를 참조하십시오. |
클러스터 수신자 | 클러스터 수신자(CLUSRCVR) 채널 정의는 클러스터 큐 관리자가 클러스터의 기타 큐 관리자로부터 메시지를 수신할 수 있는 채널의 수신측을 정의합니다. 클러스터 수신자 채널은 저장소를 목적지로 하는 클러스터-정보에 대한 정보를 전달할 수도 있습니다. 큐 관리자는 클러스터 수신자 채널을 정의하여 다른 클러스터 큐 관리자에게 자신이 메시지를 수신할 수 있음을 표시합니다. 각각의 클러스터 큐 관리자에 대해 최소한 하나의 클러스터 수신자 채널이 필요합니다. 자세한 정보는 큐 관리자 클러스터를 참조하십시오. |
각 채널에 대해 채널의 각 측에 대한 채널 정의가 있도록 양측 모두를 정의해야 합니다. 채널의 양측은 호환 가능한 유형이어야 합니다.
다음과 같은 채널 정의의 결합이 있을 수 있습니다.
- 송신자-수신자
- 서버-수신자
- 요청자-서버
- 요청자-송신자(콜백)
- 클러스터-송신자-클러스터-수신자
메시지 채널 에이전트
작성한 각 채널 정의는 특정 큐 관리자에 속합니다. 큐 관리자는 같거나 다른 유형의 채널을 몇 개 가질 수 있습니다. 각 채널의 끝에는 메시지 채널 에이전트(MCA) 프로그램이 있습니다. 채널의 한쪽 끝에서 호출자 MCA는 전송 큐에서 메시지를 가져와 채널을 통해 송신합니다. 채널의 다른 쪽 끝에서 응답자 MCA는 메시지를 수신하여 리모트 큐 관리자에 전달합니다.
호출자 MCA는 송신자, 서버 또는 요청자 채널과 연관될 수 있습니다. 응답자 MCA는 메시지 채널의 모든 유형과 연관될 수 있습니다.
IBM MQ는 연결의 양측에서 다음 채널 유형 조합을 지원합니다.
호출자 | 메시지 플로우의 방향 | 응답자 | ||
---|---|---|---|---|
채널 유형 | 리스너의 여부 | 리스너의 여부 | 채널 유형 | |
송신자 | 아니오 | 호출자에서 응답자 | 예 | 수신자 |
Server | 아니오 | 호출자에서 응답자 | 예 | 수신자 |
Server | 아니오 | 호출자에서 응답자 | 예 | 요청자 |
요청자 | 아니오 | 응답자에서 호출자 | 예 | Server |
요청자 | 예 | 응답자에서 호출자 | 예 | 송신자 |
MQI 채널
MQI 채널은 다음 중 하나의 유형일 수 있습니다.
MQI 채널 유형 | 설명 |
---|---|
서버 연결 | 서버 연결 채널은 IBM MQ 서버에 IBM MQ 클라이언트를 연결하는 데 사용되는 양방향 MQI 채널입니다. 서버 연결 채널은 채널의 서버 측입니다. |
클라이언트 연결 | 클라이언트 연결 채널은 IBM MQ 서버에 IBM MQ 클라이언트를 연결하는 데 사용되는 양방향 MQI 채널입니다. IBM MQ 탐색기는 또한 클라이언트 연결을 사용하여 리모트 큐 관리자에 연결합니다. 클라이언트 연결 채널은 채널의 클라이언트 측입니다. 클라이언트 연결 채널을 작성하면 큐 관리자를 호스트하는 컴퓨터에서 파일이 작성됩니다. IBM MQ 클라이언트 컴퓨터로 클라이언트-연결 파일을 복사해야 합니다. |
![[UNIX, Linux, Windows, IBM i]](./ngmulti.gif)
AMQP 채널
AMQP 채널의 유형은 한 개뿐입니다.
이 채널을 사용하여 AMQP 메시징 애플리케이션을 큐 관리자와 연결하면 애플리케이션이 IBM MQ 애플리케이션과 메시지를 교환할 수 있습니다. AMQP 채널을 사용할 경우 MQ Light에서 애플리케이션을 개발한 다음 엔터프라이즈 애플리케이션으로 배치할 수 있으므로 IBM MQ에서 제공하는 엔터프라이즈 레벨 기능을 이용할 수 있습니다.
채널에 대한 자세한 정보는 IBM Knowledge Center에서 채널의 내용을 참조하십시오.