通道

IBM® MQ 可以使用三種不同類型的通道: 訊息通道、MQI 通道及 AMQP 通道。

請勿混淆這幾種不同類型的通道:

訊息通道
訊息通道是兩個佇列管理程式之間的單向通訊鏈結。 IBM MQ 使用訊息通道在佇列管理程式之間傳送訊息。 若要雙向傳送訊息,您必須為每一個方向定義一個通道。
MQI 通道 (MQI channel)
MQI 通道是雙向通訊鏈結,可將應用程式(MQI 用戶端)連接至伺服器機器上的佇列管理程式。 IBM MQ 會使用 MQI 通道,在 MQI 用戶端與佇列管理程式之間傳送 MQI 呼叫及回應。
[UNIX、Linux、Windows、IBM i]AMQP 通道 (AMQP channel)
AMQP 通道,它是雙向通訊鏈結,可將 AMQP 用戶端連接至伺服器機器上的佇列管理程式。 IBM MQ 會使用 AMQP 通道,在 AMQP 應用程式與佇列管理程式之間傳送 AMQP 呼叫及回應。

談到訊息通道時,通道一詞通常用來作為通道定義的同義字。 通常從上下文會很清楚所談的是完整的通道(具備兩端),或者是通道定義(只有一端)。

訊息通道

訊息通道定義可以是下列其中一種類型:

訊息通道定義類型 說明
傳送端 傳送端通道是佇列管理程式用來傳送訊息到另一個佇列管理程式的訊息通道。 若要使用傳送端通道來傳送訊息,您也必須在另一個佇列管理程式上,建立一個和傳送端通道同名的接收端通道。 如果您正在實作「回呼」機制,也可以使用有要求端通道的傳送端通道。
伺服器 伺服器通道是佇列管理程式用來傳送訊息到另一個佇列管理程式的訊息通道。 若要使用伺服器通道來傳送訊息,您也必須在另一個佇列管理程式上,建立一個和伺服器通道同名的接收端通道。 您也可以將伺服器通道與要求端通道一起使用。 在此情況下,通道另一端的要求端通道定義會要求伺服器通道定義啟動。 伺服器會傳送訊息給要求端。 只要伺服器知道友機通道的連線名稱,伺服器也可以起始通訊。
接收端 接收端通道是佇列管理程式用來從另一個佇列管理程式接收訊息的訊息通道。 若要使用接收端通道來接收訊息,您也必須在另一個佇列管理程式上,建立一個和接收端通道同名的傳送端或伺服器通道。
要求端 「要求端」通道是佇列管理程式用來接收其他佇列管理程式訊息的訊息通道。 要求端通道可以要求在遠端結束時定義的夥伴通道啟動。 如果友機通道是伺服器通道,伺服器通道會接受啟動要求,並從「伺服器」通道定義中識別的傳輸佇列,開始傳送訊息至要求端通道。 如果友機通道是傳送端通道,則傳送端通道會接受啟動要求,但會關閉與要求端之間的連線。 然後,傳送端通道會啟動,並與友機要求端通道協議階段作業,並開始從傳送端通道定義中識別的傳輸佇列傳送訊息。 後一種情況主要針對要求端通道要求傳送端通道進行呼叫支援的呼叫支援機制。
叢集傳送端 叢集傳送端 (CLUSSDR) 通道定義會定義通道傳送端,叢集佇列管理程式可以在其中傳送叢集資訊給其中一個完整儲存庫。 叢集傳送端通道會用來通知儲存庫關於佇列管理程式狀態的任何變更,例如:新增或移除佇列。 它也可以用來傳輸訊息。 完整儲存庫佇列管理程式本身有指向彼此的叢集傳送端通道。 它們會使用這些通道來互相溝通叢集狀態變更。 佇列管理程式的 CLUSSDR 通道定義指向哪個完整儲存庫有點重要。 在初次聯絡之後,會依需求自動定義進一步的叢集佇列管理程式物件,使得佇列管理程式可以傳送叢集資訊給每一個完整儲存庫,並將訊息傳給每一個佇列管理程式。 如需相關資訊,請參閱 佇列管理程式叢集
叢集接收端 叢集接收端 (CLUSRCVR) 通道定義會定義通道接收端,叢集佇列管理程式可以在其中接收來自叢集中其他佇列管理程式的訊息。 叢集接收端通道也可以附帶叢集的相關資訊(指定給儲存庫的資訊)。 佇列管理程式藉由定義叢集接收端通道,向另一個叢集佇列管理程式表示它可用來接收訊息。 每一個叢集佇列管理程式至少需要一個叢集接收端通道。 如需相關資訊,請參閱 佇列管理程式叢集

您必須定義每一個通道的兩端,以便通道每一端都具有通道定義。 通道兩端的類型必須相容。

您可以有下列通道定義組合:

  • 傳送端-接收端
  • 伺服器-接收端
  • 要求端-伺服器
  • 要求端-傳送端(回呼)
  • 叢集-傳送端-叢集-接收端

訊息通道代理程式

您建立的每一個通道定義都屬於特定的佇列管理程式。 一個佇列管理程式可以有數個同類型或不同類型的通道。 通道的每一端是一個程式,也就是訊息通道代理程式 (MCA)。 在通道的一端,呼叫端 MCA 會從傳輸佇列取得訊息,再透過通道來傳送。 在通道的另一端,回應端 MCA 會接收訊息,再將它們遞送到遠端佇列管理程式。

呼叫端 MCA 可以與傳送端、伺服器或要求端通道關聯。 回應端 MCA 可以與任何類型的訊息通道關聯。

IBM MQ 在連線兩端支援下列通道類型組合:

呼叫端 訊息流方向 回應端
通道類型 需要接聽器?   需要接聽器? 通道類型
傳送端 呼叫端到回應端 接收端
伺服器 呼叫端到回應端 接收端
伺服器 呼叫端到回應端 要求端
要求端 回應端到呼叫端 伺服器
要求端 回應端到呼叫端 傳送端

MQI 通道

MQI 通道可以是下列其中一種類型:

MQI 通道類型 說明
伺服器連線 伺服器連線通道是雙向 MQI 通道,用來將 IBM MQ 用戶端連接至 IBM MQ 伺服器。 伺服器連線通道是指通道的伺服器端。
用戶端連線 用戶端連線通道是雙向 MQI 通道,用來將 IBM MQ 用戶端連接至 IBM MQ 伺服器。 「 IBM MQ 探險家 」也會使用用戶端連線來連接遠端佇列管理程式。 用戶端連線通道是指通道的用戶端。 當您建立用戶端連線通道時,控管佇列管理程式的電腦上會建立一個檔案。 然後,您必須將用戶端連線檔案複製到 IBM MQ 用戶端電腦。
[UNIX、Linux、Windows、IBM i]

AMQP 通道

只有一種類型的 AMQP 通道。

您可以使用此通道將 AMQP 傳訊應用程式與佇列管理程式連接,從而允許此應用程式與 IBM MQ 應用程式交換訊息。 AMQP 通道可讓您使用 MQ Light開發應用程式,然後利用 IBM MQ提供的企業層級機能,將它部署為企業應用程式。

如需通道的相關資訊,請參閱 IBM 說明文件中的 通道