Kanały
Produkt IBM® MQ może używać trzech różnych typów kanałów: kanału komunikatów, kanału MQI i kanału AMQP.
Nie należy mylić tych odrębnych typów kanałów:
- Kanał komunikatów
- Kanał komunikatów jest jednokierunkowym łączem komunikacyjnym między dwoma menedżerami kolejek. Produkt IBM MQ używa kanałów komunikatów w celu przesyłania komunikatów między menedżerami kolejek. Aby wysyłać komunikaty w obu kierunkach, należy zdefiniować kanał dla każdego kierunku.
- kanał MQI
- Kanał MQI jest dwukierunkowy i łączy aplikację (klienta MQI) z menedżerem kolejek na serwerze. Produkt IBM MQ używa kanałów MQI w celu przesyłania wywołań i odpowiedzi MQI między klientami MQI i menedżerami kolejek.
Kanał AMQP
- Kanał AMQP jest dwukierunkowy i łączy klienta AMQP z menedżerem kolejek na serwerze. Produkt IBM MQ używa kanałów AMQP w celu przesyłania wywołań i odpowiedzi AMQP między aplikacjami AMQP i menedżerami kolejek.
W kontekście kanałów komunikatów słowo „kanał” często jest używane jako synonim definicji kanału. Najczęściej można zorientować się na podstawie kontekstu, czy omawiany jest kanał kompletny, który ma dwa zakończenie, czy też definicja kanału, która ma tylko jedno zakończenie.
Kanały komunikatów
Definicje kanałów komunikatów mogą być następującego typu:
Typ definicji kanału komunikatów | Opis |
---|---|
Kanał nadawcy | Kanał nadawcy to kanał komunikatów używany przez menedżer kolejek w celu wysyłania komunikatów do innych menedżerów kolejek. Aby wysyłać komunikaty przy użyciu kanału nadawcy, należy także utworzyć na innym menedżerze kolejek kanał odbiorcy, który ma taką samą nazwę, co kanał nadawcy. W przypadku implementacji mechanizmu wywołania zwrotnego można używać kanałów nadawczych z kanałami requestera. |
Kanał serwera | Kanał serwera to kanał komunikatów używany przez menedżer kolejek w celu wysyłania komunikatów do innych menedżerów kolejek. Aby wysyłać komunikaty przy użyciu kanału serwera, należy także utworzyć na innym menedżerze kolejek kanał odbiorcy, który ma taką samą nazwę, co kanał serwera. Można również użyć kanałów serwera wraz z kanałami requestera. W takim przypadku definicja kanału requestera na pozostałym końcu kanału żąda uruchomienia definicji kanału serwera. Serwer wysyła komunikaty do requestera. Serwer może także inicjować komunikację pod warunkiem, że zna nazwę połączenia kanału partnera. |
Kanał odbiorcy | Kanał odbiorcy do kanał komunikatów używany przez menedżer kolejek w celu odbierania komunikatów od innych menedżerów kolejek. Aby odbierać komunikaty przy użyciu kanału odbiorcy, należy także utworzyć na innym menedżerze kolejek kanał nadawcy lub kanał serwera, który ma taką samą nazwę, co kanał odbiorcy. |
Kanał requestera | Kanał requestera to kanał komunikatów używany przez menedżer kolejek w celu odbierania komunikatów od innych menedżerów kolejek. Kanał requestera może utworzyć żądanie uruchomienia kierowane do zdefiniowanego kanału partnera na zdalnym elemencie końcowym połączenia. Jeśli kanałem partnera jest kanał serwera, kanał serwera zatwierdza żądanie uruchomienia i rozpoczyna wysyłanie komunikatów, z kolejki przesyłania określonej w definicji kanału serwera do kanału requestera. Jeśli kanał partnera jest kanałem nadawczym, kanał nadawczy akceptuje żądanie uruchomienia, ale później zamyka połączenie z requesterem. Następnie, kanał nadawczy uruchamia się, negocjuje sesję z kanałem requestera partnera i rozpoczyna wysyłanie komunikatów z kolejki przesyłania określonej w definicji kanału nadawczego. Ten drugi przypadek zasadniczo zapewnia mechanizm wywołania zwrotnego, ponieważ kanał requestera tworzy żądanie wywołania zwrotnego kierowane do kanału nadawczego. |
Kanał wysyłający klastry | Definicja kanału wysyłającego klastry (CLUSSDR) definiuje wysyłający koniec kanału, z którego menedżer kolejek klastra może wysłać informacje klastra do jednego z pełnych repozytoriów. Kanał wysyłający klastry jest używany w celu powiadomienia repozytorium o wszelkich zmianach w statusie menedżera kolejek, na przykład o dodaniu lub usunięciu kolejki. Jest on również używany w celu przesyłania komunikatów. Menedżery pełnego repozytorium mają kanały wysyłające klastry, które wskazują siebie nawzajem. Używają ich do przekazywania między sobą informacji o zmianach w statusie klastra. Nie ma znaczenia, które pełne repozytorium wskazuje na definicję kanału CLUSSDR menedżera kolejek. Po nawiązaniu kontaktu początkowego kolejne obiekty menedżera kolejek klastra są definiowanie automatycznie zgodnie z wymaganiami tak, aby menedżer kolejek mógł wysyłać informacje o klastrze do każdego pełnego repozytorium oraz komunikaty do każdego menedżera kolejek. Więcej informacji na ten temat można znaleźć w sekcji Klastry menedżera kolejek. |
Kanał odbierający klastry | Definicja kanału odbierającego klastry (CLUSRCVR) definiuje odbierający koniec kanału, na którym menedżer kolejek klastra może odbierać komunikaty od innych menedżerów kolejek w klastrze. Kanałem odbierającym klastry mogą być również przesyłane informacje dotyczące klastra przeznaczone dla repozytorium. Definiując kanał odbierający klastry, menedżer kolejek wskazuje innym menedżerom kolejek klastra, że jest dostępny, aby otrzymywać komunikaty. Przynajmniej jeden kanał odbierający klastry jest potrzebny dla każdego menedżera kolejek klastra. Więcej informacji na ten temat można znaleźć w sekcji Klastry menedżera kolejek. |
Należy zdefiniować obydwa końce każdego kanału, aby każdy koniec kanału miał definicję kanału. Obydwa końce kanału muszą być typami zgodnymi.
Możliwe są następujące kombinacje definicji kanałów:
- Kanał nadawcy-Kanał odbiorcy
- Kanał serwera-Kanał odbiorcy
- Kanał requestera-Kanał serwera
- Kanał requestera-Kanał nadawcy (wywołanie zwrotne)
- Kanał wysyłający klastry-Kanał odbierający klastry
Agenci kanału komunikatów
Każda utworzona definicja kanału należy do konkretnego menedżera kolejek. Menedżer kolejek może mieć kilka kanałów tego samego lub różnego typu. Na każdym końcu kanału znajduje się program, którym jest agent kanału komunikatów (MCA). Na jednym końcu kanału wywołujący agent MCA pobiera komunikaty z kolejki transmisji i wysyła je za pośrednictwem kanału. Na drugim końcu kanału odpowiadający agent MCA odbiera komunikaty i dostarcza je do zdalnego menedżera kolejek.
Program wywołujący MCA może zostać przypisany do kanału nadawcy, kanału serwera lub kanału requestera. Program odpowiadający MCA może zostać przypisany do dowolnego typu kanału komunikatów.
Produkt IBM MQ obsługuje następujące kombinacje typów kanałów na dwóch końcach połączenia:
Program wywołujący | Kierunek przepływu informacji | Program odpowiadający | ||
---|---|---|---|---|
Typ kanału | Wymagane nasłuchiwanie? | Wymagane nasłuchiwanie? | Typ kanału | |
Kanał nadawcy | Nie | Program wywołujący do programu odpowiadającego | Tak | Kanał odbiorcy |
Kanał serwera | Nie | Program wywołujący do programu odpowiadającego | Tak | Kanał odbiorcy |
Kanał serwera | Nie | Program wywołujący do programu odpowiadającego | Tak | Kanał requestera |
Kanał requestera | Nie | Program odpowiadający do programu wywołującego | Tak | Kanał serwera |
Kanał requestera | Tak | Program odpowiadający do programu wywołującego | Tak | Kanał nadawcy |
Kanały MQI
Kanały MQI mogą być następującego typu:
Typ kanału MQI | Opis |
---|---|
Kanał połączenia serwera | Kanał połączenia serwera jest dwukierunkowym kanałem MQI, który jest używany w celu nawiązania połączenia między klientem IBM MQ i serwerem IBM MQ. Kanał połączenia serwera to koniec serwera kanału. |
Kanał połączenia klienta | Kanał połączenia klienta jest dwukierunkowym kanałem MQI, który jest używany w celu nawiązania połączenia między klientem IBM MQ i serwerem IBM MQ. Program IBM MQ Explorer także używa połączeń klienta, aby nawiązać połączenie ze zdalnymi menedżerami kolejek. Kanał połączenia klienta to koniec klienta kanału. Podczas tworzenia kanału połączenia klienta tworzony jest plik na komputerze udostępniającym menedżera kolejek. Plik połączenia klienta należy następnie skopiować na komputer klienta produktu IBM MQ. |
![[UNIX, Linux, Windows, IBM i]](./ngmulti.gif)
Kanały protokołu AMQP
Istnieje tylko jeden typ kanału AMQP.
Do nawiązywania połączenia między aplikacją przesyłania komunikatów AMQP i menedżerem kolejek używany jest kanał, umożliwiając aplikacji wymianę komunikatów z aplikacjami produktu IBM MQ. Kanał AMQP umożliwia utworzenie aplikacji przy użyciu produktu MQ Light, a następnie wdrożenie jej jako aplikacji korporacyjnej, dzięki czemu mogą być wykorzystywane funkcje korporacyjne udostępniane przez produkt IBM MQ.
Więcej informacji o kanałach zawiera sekcja Kanały w Centrum Wiedzy IBM.