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

Адресация и маршрутизация сообщений


Сервер системы очередей сообщений отправляет сообщения различным адресатам, пользуясь информацией из заголовка каждого сообщения: имя менеджера очередей для идентификации узла и имя очереди для идентификации самой очереди.

В стандартной двойной структуре имен, лежащей в основе системы маршрутизации MQSeries - WebSphere MQ, предусмотрены дополнительные правила, расширяющие возможности идентификации очередей. Кроме прямого использования полных имен очередей реализован алгоритм разрешения имен, позволяющий указывать адресатов при помощи псевдонимов очередей и определений удаленных очередей. Это дает возможность привязывать имена очередей, заложенные разработчиками приложений в процессе кодирования программы к реальной системе очередей. В частности, при изменении физической конфигурации системы администратор сети при помощи административных команд может переопределить маршрутизацию сообщения к новому местоположению очереди без изменений кода приложения.

Механизм разрешения имен системы очередей сообщений используется для организации многошаговой маршрутизации сообщений через произвольное число промежуточных менеджеров очередей.

Для обработки сообщения важным является адрес очереди ответа, то есть хранящаяся в заголовке сообщения информация о том, в какую очередь должен быть отправлен ответ на это сообщение. Имя очереди ответа используется для организации связи типа запрос- ответ, а также для организации отправки многочисленных сообщений-отчетов, информирующих о системных событиях, например, о доставке сообщения в очередь назначения или о выборке этого сообщения приложением - адресатом.

Для отслеживания и исправления ошибок у менеджера очередей имеется специальная очередь DLQ (Dead-Letter Queue) для хранения недоставленных сообщений. Чаще всего сообщения попадают в DLQ, когда очередь, указанная в заголовке сообщения, не существует или когда очередь назначения оказывается полной. Очереди недоставленных сообщений позволяют разгрузить транспортные очереди от ошибочных сообщений и освободить каналы от непрерывных повторных обработок. При попадании сообщения в очередь недоставленных сообщений в его тело вставляется специальный информационный подзаголовок, позволяющий анализировать причины попадания в DLQ. MQSeries обладает механизмом задания правил для автоматической обработки недоставленных сообщений.



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