Kanäle
IBM® MQ kann drei verschiedene Kanaltypen verwenden: einen Nachrichtenkanal, einen MQI-Kanal und einen AMQP-Kanal.
Diese Kanaltypen sollten Sie nicht verwechseln:
- Nachrichtenkanal
- Ein Nachrichtenkanal ist eine unidirektionale Kommunikationsverbindung zwischen zwei Warteschlangenmanagern. Nachrichtenkanäle werden von IBM MQ zur Übertragung von Nachrichten zwischen Warteschlangenmanagern verwendet. Wenn in beiden Richtungen Nachrichten gesendet werden sollen, muss für jede Richtung ein Kanal definiert werden.
- MQI-Kanal
- Ein MQI-Kanal ist ein bidirektionaler Kanal, welcher eine Anwendung (einen MQI-Client) mit einem Warteschlangenmanager auf einer Servermaschine verbindet. MQI-Kanäle werden von IBM MQ für die Übertragung von MQI-Aufrufen und -Antworten zwischen MQI-Clients und Warteschlangenmanagern verwendet.
AMQP-Kanal
- Ein AMQP-Kanal ist ein bidirektionalen Kanal, welcher einen AMQP-Client mit einem Warteschlangenmanager auf einer Servermaschine verbindet. AMQP-Kanäle werden von IBM MQ für die Übertragung von AMQP-Aufrufen und -Antworten zwischen AMQP-Anwendungen und Warteschlangenmanagern verwendet.
Bei den Erläuterungen zu Nachrichtenkanälen wird das Wort Kanal gleichbedeutend mit dem Begriff Kanaldefinition verwendet. Aus dem Kontext geht im Allgemeinen hervor, ob von einem vollständigen Kanal (mit zwei Enden) oder von einer Kanaldefinition (die sich nur auf ein Kanalende bezieht) die Rede ist.
Nachrichtenkanäle
Nachrichtenkanaldefinitionen können zu einer der folgenden Arten gehören:
Art der Nachrichtenkanaldefinition | Beschreibung |
---|---|
Absender | Ein Senderkanal ist ein Nachrichtenkanal, über den ein Warteschlangenmanager Nachrichten an andere Warteschlangenmanager sendet. Damit Sie Nachrichten über einen Senderkanal senden können, müssen Sie auf dem anderen Warteschlangenmanager auch einen Empfangskanal mit demselben Namen wie der Senderkanal erstellen. Bei Verwendung eines Callback-Mechanismus kann der Senderkanal auch mit Requesterkanälen verwendet werden. |
Server | Ein Serverkanal ist ein Nachrichtenkanal, über den ein Warteschlangenmanager Nachrichten an andere Warteschlangenmanager sendet. Damit Sie Nachrichten über einen Serverkanal senden können, müssen Sie auf dem anderen Warteschlangenmanager auch einen Empfangskanal mit demselben Namen wie der Serverkanal erstellen. Serverkanäle können auch zusammen mit Requesterkanälen verwendet werden. In diesem Fall fordert die Requesterkanaldefinition am anderen Ende des Kanals die Serverkanaldefinition zum Start auf. Der Server sendet Nachrichten an den Requester. Auch der Server kann die Datenübertragung initiieren, sofern ihm der Verbindungsname des Partnerkanals bekannt ist. |
Empfänger | Ein Empfängerkanal ist ein Nachrichtenkanal, über den ein Warteschlangenmanager Nachrichten von anderen Warteschlangenmanagern empfängt. Damit Sie Nachrichten über einen Empfangskanal empfangen können, müssen Sie auf dem anderen Warteschlangenmanager auch einen Senderkanal oder Serverkanal mit demselben Namen wie der Empfangskanal erstellen. |
Requester | Ein Requesterkanal ist ein Nachrichtenkanal, über den ein Warteschlangenmanager Nachrichten von anderen Warteschlangenmanagern empfängt. Ein Requesterkanal kann eine Startanforderung an den am fernen Ende definierten Partnerkanal senden. Wenn der Partnerkanal ein Serverkanal ist, akzeptiert der Serverkanal die Startanforderung und beginnt damit, Nachrichten aus der Übertragungswarteschlange, die in der Kanaldefinition des Servers angegeben ist, an den Requesterkanal zu senden. Wenn der Partnerkanal ein Senderkanal ist, akzeptiert der Senderkanal die Startanforderung, schließt aber dann die Verbindung mit dem Requester. Dann startet der Senderkanal, vereinbart eine Sitzung mit dem Partner-Requesterkanal und beginnt damit, Nachrichten aus der Übertragungswarteschlange zu senden, die in der Kanaldefinition des Senders angegeben ist. In diesem Fall wird im Wesentlichen ein Callback-Mechanismus bereitgestellt, indem der Requesterkanal eine Rückrufanforderung an den Senderkanal sendet. |
Clustersender | Die Definition eines Clustersenderkanals (CLUSSDR) legt die Senderseite des Kanals fest, über den Clusterwarteschlangenmanager clusterspezifische Daten an eines der vollständigen Repositorys senden können. Der Clustersenderkanal wird dazu verwendet, das Repository über Änderungen am Status des Warteschlangenmanagers zu benachrichtigen, z. B. über das Hinzufügen oder Entfernen einer Warteschlange. Darüber hinaus wird dieser Kanal auch zur Nachrichtenübertragung verwendet. Die Warteschlangenmanager mit dem vollständigen Repository wiederum verfügen über Clustersenderkanäle, die auf den jeweils anderen Repository-Warteschlangenmanager verweisen. Über diese Kanäle informieren sie sich gegenseitig über Änderungen am Clusterstatus. Es ist unerheblich, auf welches vollständige Repository die Kanaldefinition 'CLUSSDR' eines Warteschlangenmanagers verweist. Nachdem der erste Kontakt hergestellt wurde, werden weitere Clusterwarteschlangenmanagerobjekte automatisch nach Bedarf definiert, sodass der Warteschlangenmanager Clusterinformationen an jedes vollständige Repository und Nachrichten an jeden Warteschlangenmanager senden kann. Weitere Informationen hierzu finden Sie unter Clusterunterstützung. |
Clusterempfänger | Die Definition eines Clusterempfängerkanals (CLUSRCVR) legt die Empfängerseite des Kanals fest, über den Clusterwarteschlangenmanager Nachrichten von anderen Warteschlangenmanagern im Cluster empfangen können. Darüber hinaus können über Clusterempfängerkanäle auch Clusterdaten für die Repositorys übertragen werden. Indem der Warteschlangenmanager den Clusterempfängerkanal definiert, teilt er den anderen Warteschlangenmanagern dadurch mit, dass er für den Empfang von Nachrichten verfügbar ist. Für jeden Clusterwarteschlangenmanager ist mindestens ein Clusterempfängerkanal erforderlich. Weitere Informationen hierzu finden Sie unter Warteschlangenmanagercluster. |
Für jeden Kanal müssen beide Kanalenden definiert werden, sodass für jedes Kanalende eine eigene Definition vorhanden ist. Die beiden Kanalenden müssen vom Typ her miteinander kompatibel sein.
Folgende Kombinationen von Kanaldefinitionen sind möglich:
- Sender-Empfänger
- Server-Empfänger
- Requester-Server
- Requester-Sender (Callback)
- Clustersender-Clusterempfänger
Nachrichtenkanalagenten
Jede Kanaldefinition gehört zu einem bestimmten Warteschlangenmanager. Ein Warteschlangenmanager kann verschiedene Kanäle gleichen oder unterschiedlichen Typs verwalten. An den beiden Kanalenden ist jeweils ein Programm installiert, der Nachrichtenkanalagent (MCA). Am einen Ende holt der aufrufende MCA Nachrichten aus der Übertragungswarteschlange und sendet diese über den Kanal. Am anderen Ende des Kanals empfängt der Responder-MCA die Nachrichten und leitet sie an den fernen Warteschlangenmanager weiter.
Ein aufrufender MCA kann einem Sende-, einem Server- oder einem Requesterkanal zugeordnet sein. Ein Responder-MCA kann jeder Nachrichtenkanalart zugeordnet werden.
In IBM MQ werden die folgenden Kombinationen von Kanaltypen an den beiden Verbindungsenden unterstützt:
Aufrufer | Richtung des Nachrichtenflusses | Responder | ||
---|---|---|---|---|
Kanaltyp | Empfangsprogramm erforderlich? | Empfangsprogramm erforderlich? | Kanaltyp | |
Absender | No | Aufrufer an Responder | Zulässig | Empfänger |
Server | No | Aufrufer an Responder | Zulässig | Empfänger |
Server | No | Aufrufer an Responder | Zulässig | Requester |
Requester | No | Responder an Aufrufer | Zulässig | Server |
Requester | Zulässig | Responder an Aufrufer | Zulässig | Absender |
MQI-Kanäle
MQI-Kanäle können zu einem der folgenden Kanaltypen gehören:
MQI-Kanaltyp | Beschreibung |
---|---|
Serververbindung | Ein Serververbindungskanal ist ein bidirektionaler MQI-Kanal, der eine Verbindung zwischen einem IBM MQ-Client und einem IBM MQ-Server herstellt. Dabei stellt der Serververbindungskanal das serverseitige Ende des Kanals dar. |
Clientverbindung | Ein Clientverbindungskanal ist ein bidirektionaler MQI-Kanal, der eine Verbindung zwischen einem IBM MQ-Client und einem IBM MQ-Server herstellt. Im IBM MQ Explorer werden Clientverbindungen auch dazu verwendet, eine Verbindung zu fernen Warteschlangenmanagern herzustellen. Dabei stellt der Clientverbindungskanal das clientseitige Ende des Kanals dar. Beim Erstellen eines Clientverbindungskanals wird auf dem Computer, auf dem sich der Warteschlangenmanager befindet, eine Datei erstellt. Die Clientverbindungsdatei müssen Sie dann auf den IBM MQ-Clientcomputer kopieren. |
![[UNIX, Linux, Windows, IBM i]](./ngmulti.gif)
AMQP-Kanäle
Es gibt nur einen AMQP-Kanaltyp.
Über den Kanal wird eine AMQP-Messaging-Anwendung mit einem Warteschlangenmanager verbunden, damit die Anwendung Nachrichten mit IBM MQ-Anwendungen austauschen kann. Ein AMQP-Kanal ermöglicht es Ihnen, mithilfe von MQ Light eine Anwendung zu entwickeln, die dann als Unternehmensanwendung eingesetzt werden kann, um die auf Unternehmen abgestimmten Funktionen, die von IBM MQ bereitgestellt werden, zu nutzen.
Weitere Informationen zu Kanälen finden Sie unter Kanäle in der IBM Knowledge Center.