Брокер сообщений (также известный как интеграционный брокер или интерфейсный движок [1] ) — это промежуточный модуль компьютерной программы , который переводит сообщение из формального протокола обмена сообщениями отправителя в формальный протокол обмена сообщениями получателя. Брокеры сообщений — это элементы в телекоммуникационных или компьютерных сетях, где программные приложения взаимодействуют путем обмена формально определенными сообщениями. [1] Брокеры сообщений — это строительный блок ориентированного на сообщения промежуточного программного обеспечения (MOM), но обычно не являются заменой традиционного промежуточного программного обеспечения, такого как MOM и удаленный вызов процедур (RPC). [2] [3]
Брокер сообщений — это архитектурный шаблон для проверки, преобразования и маршрутизации сообщений. Он опосредует связь между приложениями [ неопределенно ] , минимизируя взаимную осведомленность, которую приложения должны иметь друг о друге, чтобы иметь возможность обмениваться сообщениями, эффективно реализуя разъединение . [4]
Основная цель брокера — принимать входящие сообщения от приложений и выполнять над ними некоторые действия. Брокеры сообщений могут разъединять конечные точки, удовлетворять определенным нефункциональным требованиям и способствовать повторному использованию посреднических функций. Например, брокер сообщений может использоваться для управления очередью рабочей нагрузки или очередью сообщений для нескольких получателей, обеспечивая надежное хранение, гарантированную доставку сообщений и, возможно, управление транзакциями.
Ниже приведены другие примеры действий, которые может выполнять брокер: [2] [3]
Брокеры сообщений обычно основаны на одной из двух фундаментальных архитектур: hub-and-spoke и message bus. В первом случае центральный сервер выступает в качестве механизма, который предоставляет интеграционные сервисы, тогда как во втором случае брокер сообщений является коммуникационной магистралью или распределенной службой, которая действует на шине . [3] Кроме того, для интеграции нескольких брокеров можно использовать более масштабируемый подход с несколькими концентраторами. [3]
Брокеры сообщений, специально созданные для достижения ограниченных по времени коммуникаций со сквозной предсказуемостью, позволяют разрабатывать системы реального времени, требующие предсказуемости выполнения . Часто системы с требованиями реального времени подразумевают взаимодействие с реальным миром ( робототехника , автоматизация транспортных средств , программно-определяемая радиосвязь и т. д.).
Спецификация CORBA в реальном времени от Object Management Group обеспечивает теоретическую основу для предсказуемых коммуникационных технологий, предъявляя следующие требования:
Для целей настоящей спецификации «сквозная предсказуемость» своевременности в системе CORBA с фиксированным приоритетом определяется следующим образом:
• соблюдение приоритетов потоков между клиентом и сервером для разрешения конфликта ресурсов во время обработки вызовов CORBA;
• ограничение продолжительности инверсий приоритета потоков во время сквозной обработки;
• ограничение задержек вызовов операций