Опубликован: 14.12.2004 | Уровень: для всех | Доступ: платный | ВУЗ: Компания IBM
Лекция 2:

Системы очередей сообщений

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >

Функции и модели взаимодействия системы очередей сообщений

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

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

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

Средства МОМ имеют своих предшественников в виде систем для передачи файлов типа FTP, решений типа экспорта - импорта данных с использование различных промежуточных хранителей: файлов, буферов памяти, баз данных. Находясь долгое время в виде вспомогательных и частных средств, класс подобного программного обеспечения стал бурно развиваться и стандартизироваться в связи с выходом на первый план задач интеграции прикладных систем между собой.

Системы очередей сообщений позволяют программам отправлять и получать данные, не соединяясь друг с другом напрямую. Приложения изолируются друг от друга транспортным слоем, состоящим из менеджеров очередей, берущих на себя задачи обеспечения коммуникаций. С помощью очередей сообщений (рис.1.2) могут быть реализованы как традиционные модели взаимодействия программ ( клиент-сервер ), так и модели, которые реализуются только при помощи сервиса сообщений.

Взаимодействие клиент-сервер через очередь сообщений

Рис. 1.2. Взаимодействие клиент-сервер через очередь сообщений

Модель клиент/сервер

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

Асинхронное взаимодействие

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

Запуск программы

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

Параллельная и распределенная обработка

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

Адресация по принципу публикация-подписка

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

< Лекция 1 || Лекция 2: 123456 || Лекция 3 >
Вадим Горячев
Вадим Горячев
Россия
Artem Bardakov
Artem Bardakov
Россия