Московский государственный университет путей сообщения
Опубликован: 11.04.2006 | Доступ: свободный | Студентов: 1311 / 300 | Оценка: 4.39 / 4.00 | Длительность: 17:21:00
ISBN: 978-5-9556-0036-1
Специальности: Разработчик аппаратуры
Лекция 8:

Средства управления распределенными системами

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >

Интерфейс очереди сообщений

Основными элементами системы MQSeries являются: сообщения, которые прикладные программы посылают друг другу; очереди для хранения сообщений; менеджеры очередей, управляющие очередями и обработкой сообщений; каналы передачи сообщений, связывающие менеджеры между собой. Прикладная программа передает свое сообщение серверу (менеджеру очередей), который записывает его в локальную очередь, а затем передает по сети другому менеджеру очередей, содержащему очередь-адресат. Программа-адресат обращается к своей очереди и получает доступ к сообщению. В результате система очередей сообщений предоставляет асинхронный метод взаимодействия программ, не требующий установки между ними прямой связи. При этом гарантируется, что передаваемое сообщение не будет потеряно или получено дважды. Процесс взаимодействия прикладных программ с помощью менеджера очередей представлен на рис. 4.4.

Взаимодействие приложений с помощью диспетчера очередей

Рис. 4.4. Взаимодействие приложений с помощью диспетчера очередей

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

  • менеджер очередей должен существовать и выполняться;
  • должна быть определена очередь, из которой извлекаются сообщения;
  • должна быть определена очередь, в которую помещаются сообщения;
  • оба приложения должны быть связаны с очередями.

Сообщения (Message) MQSeries представляют собой структуру данных, состоящую из заголовка сообщения размером 324 байт (MQ Message Descriptor) и прикладных данных, в зависимости от платформы имеющих размер до 100 Мбайт.

Заголовок содержит контрольную информацию о сообщении и его характеристиках. С помощью этой информации менеджер очередей решает, каким образом обрабатывать и куда передавать сообщение. Прикладная часть сообщения может включать данные в специальных предопределенных форматах или данные в форматах пользователя. Для приложений, функционирующих под управлением разных ОС и оперирующих различными кодовыми страницами, поддерживаются методы преобразования данных. Очередь сообщений (Queue) является основным местом хранения и обработки сообщений. Физическое управление очередями полностью скрыто от прикладных программ - приложения могут получить доступ к очередям только через интерфейс MQI (Message Queue Interface). Менеджер очередей (Queue Manager) отвечает за управление очередями сообщений и прием вызовов от прикладных программ. Внутренняя реализация менеджеров очередей для каждой операционной системы своя. Однако с функциональной точки зрения менеджеры очередей MQSeries представляют собой совокупность очередей различных типов, каналов передачи сообщений между менеджерами, программ-мониторов и административных утилит. Прикладные программы взаимодействуют с системой MQSeries через интерфейс прикладного программирования MQI, который имеет единую структуру на всех платформах и основан на простой системе из десятка команд. Более подробно интерфейс MQI рассматривается в разделе 6.3.

< Лекция 7 || Лекция 8: 12345 || Лекция 9 >