IBM MQSeries: архитектура системы очередей сообщений
Категория реферата: Рефераты по информатике, программированию
Теги реферата: реферат на тему производство, налоги и налогообложение
Добавил(а) на сайт: Jemilij.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата
TRPTYPE(сетевой протокол) +
...{XMITQ(очередь трансмиссии)}
После установки связи из транспортной очереди в канале начинается передача сообщений. При передаче сообщений между двумя менеджерами очередей используется специальный протокол канала сообщения (Message Channel Protocol - MCP). Сообщения удаляются из транспортной очереди передающего менеджера только после подтверждения доставки сообщения другим менеджером. Использование протокола MCP обеспечивает передачу сообщения полностью, в том числе в случае системного или сетевого сбоя.
Если линия связи недоступна, MQSeries может автоматически совершать повторные попытки передачи после восстановления связи. Протокол МСР используется при передаче сообщений поверх транспортных протоколов более низкого уровня.
Адресация и маршрутизация сообщений
Пользуясь информацией из заголовка каждого сообщения (имя менеджера очередей для идентификации узла MQSeries и имя очереди для идентификации самой очереди) система MQSeries отправляет сообщения различным адресатам.
В стандартной двойной структуре имен, лежащей в основе системы маршрутизации MQSeries, предусмотрены дополнительные правила, расширяющие возможности идентификации очередей. Кроме прямого использования полных имен очередей реализован алгоритм разрешения имен, позволяющий указывать адресатов при помощи псевдонимов и определений удаленных очередей. Это дает возможность привязывать имена очередей, указанные разработчиками приложений в процессе кодирования программы к реальной системе очередей. В частности, при изменении физической конфигурации системы администратор сети с помощью административных команд может переопределить маршрутизацию сообщения к новому местоположению очереди без изменений кода приложения.
Для организации многошаговой маршрутизации сообщений через произвольное число промежуточных менеджеров очередей используется механизм разрешения имен. Это делается, например, при помощи определений транспортных очередей с именами, совпадающими с наименованиями удаленного менеджера очередей. Сообщения, адресованные удаленному менеджеру, автоматически пересылаются через соответствующую транспортную очередь.
В заголовке сообщения содержится информация о том, в какую очередь должен быть отправлен ответ на это сообщение. Имя очереди ответа используется для организации связи типа запрос-ответ, а также для отправки многочисленных сообщений-отчетов, информирующих о системных событиях, например, о доставке сообщения в очередь назначения или о выборке этого сообщения приложением-адресатом.
У менеджера очередей имеется специальная очередь DLQ (Dead-Letter Queue) - место для хранения недоставленных сообщений. Чаще всего сообщения появляются в DLQ, когда очереди, указанной в заголовке сообщения, не существует или когда очередь назначения оказывается полной. Сообщения из очереди DLQ позволяют разгрузить транспортные очереди и каналы от ошибочных сообщений, при этом в тело сообщения вставляется специальный информационный подзаголовок, позволяющий, если сообщение не доставлено, анализировать причины случившегося. MQSeries обладает механизмом задания правил для автоматической обработки недоставленных сообщений.
Обеспечение целостности данных и синхронизации изменений
MQSeries - это транзакционное программное средство, которое может объединять группу операций по посылке и приему сообщений в единую транзакцию. Прикладная программа помечает часть своих получаемых и отравляемых сообщений специальной опцией - "участвующие в транзакции". До момента выполнения приложением команды на завершение транзакции MQCMIT, посланные им сообщения фактически "невидимы" для других приложений, а полученные реально не удаляются из очередей. В случае выполнения приложением команды на откат транзакции (MQBACK), очереди восстанавливаются к состоянию на начало транзакции.
Менеджер очередей MQSeries может играть роль менеджера ресурсов, поддерживающего XA интерфейс, а может участвовать в распределенной транзакции под управлением таких мониторов транзакций как CICS, Encina, Tuxedo. Продукты MQSeries, начиная с версии 5, сами могут быть координаторами распределенных транзакций с двухфазной фиксацией.
Триггерные возможности MQSeries
Асинхронный характер работы системы очередей сообщений требует специального механизма внешней активизации прикладных и системных компонентов. В MQSeries такой механизм - "триггеринг" привязан непосредственно к очередям сообщений. Триггерным событием может быть, например, появление в очереди нового сообщения или факт накопления определенного числа сообщений, имеющих приоритет выше заданного порогового значения.
Чтобы определить триггерное событие, для прикладной очереди при помощи административных команд устанавливаются опции, разрешающие триггеринг и условия триггерного события. Кроме того, администратором системы создается специальное описание обработки такого события. В описании содержится информация о приложении, которое будет вызвано при наступлении триггерного события. Если происходит такое событие, например, появляется новое сообщение в очереди, менеджер очередей автоматически генерирует специальное триггерное сообщение, которое помещается в очередь инициации (initiation queue). В триггерном сообщении содержатся данные о событии и вызываемом процессе. Все очереди инициации отслеживаются триггерным монитором, который читает триггерное сообщение и вызывает внешнюю программу обработки (рис. 2).
Рис. 2. Обработка "триггерных" событий
Приведем пример двух административных команд для создания триггерной очереди и описания процесса вызова внешней программы:
DEFINE QLOCAL(имя очереди)
TRIGGER +
PROCESS(имя процесса) INITQ(имя
очереди инициации) +
TRIGTYPE(тип триггерного события)
....
DEFINE PROCESS(имя процесса) +
APPLICID(имя вызываемой программы)
USERDATA(параметры)...
Рекомендуем скачать другие рефераты по теме: дипломная работа методика, доклады бесплатно.
Предыдущая страница реферата | 1 2 3 4 | Следующая страница реферата