Интеграция приложений на основе WebSphere MQ

Каналы передачи сообщений: Как сообщения пересылаются по сети?


В распределенной среде за передачу сообщений отвечают сетевые компоненты системы очередей сообщений. В IBM WebSphere MQ используется система каналов передачи сообщений, обеспечивающая гарантированную передачу сообщений поверх разнообразных сетевых соединений. При использовании протокола гарантированной передачи WebSphere MQ MCP (Message Channel Protocol) посылаемое сообщение не будет удалено из очереди на сервере посылки до тех пор, пока это сообщение не будет полностью принято на сервере - адресате, то есть реализуется сетевая транзакция при передачи сообщений.


Рис. 1.4.  Передача сообщений между системами

Каналы соединяют менеджеры очередей и позволяют осуществлять направленную посылку сообщений. В WebSphere MQ каналы являются однонаправленными и состоят из пары взаимодействующих канальных агентов (Message Channel Agent - MCA). Для двусторонней связи необходимо определить два канала. Существует несколько типов каналов. Типы каналов различаются тем, какая сторона в канале является инициатором установки связи, а какая источником сообщений. В комбинации каналов типа Sender-Receiver одна сторона Sender является инициатором связи и источником сообщений, вторая сторона Receiver только откликается на инициирующий запрос и принимает поток сообщений, в другой комбинации канал Requestor-Server, инициирующая соединение сторона Requestor принимает сообщения от стороны Server.

После установки связи из транспортной очереди в канале начинается передача сообщений. Сообщения удаляются из транспортной очереди передающего менеджера, только после подтверждения доставки сообщения другим менеджером. Использование в протоколе MCP контрольных точек позволяет концам канала синхронизировать передачу числа сообщения в случае системного или сетевого сбоя. Если линия связи недоступна, MQSeries может автоматически совершать повторные попытки передачи после восстановления связи. Протокол МСР используется при передаче сообщений поверх транспортных протоколов более низкого уровня TCP/IP, LU6.2, DECnet, NetBios, IPX/SPX.



Содержание раздела