Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску
Диаграмма последовательности для изображения шаблона посредника сообщений

Брокер сообщений (также известный как интеграционный брокер или интерфейс двигатель [1] ) является посредником компьютера программного модуля , который преобразует сообщение из официального протокола передачи сообщений от отправителя к формальному протоколу обмена сообщений приемника. Брокеры сообщений - это элементы в телекоммуникационных или компьютерных сетях, где программные приложения взаимодействуют посредством обмена официально определенными сообщениями. [1] Посредники сообщений являются строительным блоком промежуточного программного обеспечения, ориентированного на сообщения (MOM), но обычно не заменяют традиционное промежуточное программное обеспечение, такое как MOM и удаленный вызов процедур (RPC). [2] [3]

Назначение, функциональность и архитектура [ править ]

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

Основная цель брокера - принимать входящие сообщения от приложений и выполнять с ними определенные действия. Брокеры сообщений могут разъединять конечные точки, соответствовать определенным нефункциональным требованиям и облегчать повторное использование промежуточных функций. Например, брокер сообщений может использоваться для управления очередью рабочей нагрузки или очередью сообщений для нескольких получателей, обеспечивая надежное хранилище, гарантированную доставку сообщений и, возможно, управление транзакциями. Ниже представлены другие примеры действий, которые может выполнить брокер: [2] [3]

  • Направлять сообщения одному или нескольким адресатам
  • Преобразование сообщений в альтернативное представление
  • Выполнять агрегацию сообщений, разбивая сообщения на несколько сообщений и отправляя их по назначению, а затем перекомпоновывая ответы в одно сообщение для возврата пользователю.
  • Взаимодействуйте с внешним репозиторием, чтобы дополнить сообщение или сохранить его.
  • Вызов веб-служб для получения данных
  • Реагируйте на события или ошибки
  • Обеспечьте маршрутизацию сообщений на основе контента и тем с помощью шаблона публикации – подписки.

Брокеры сообщений обычно основаны на одной из двух основных архитектур: узловая и лучевая архитектура и шина сообщений. В первом случае центральный сервер действует как механизм, предоставляющий услуги интеграции, тогда как во втором брокер сообщений является магистралью связи или распределенной службой, которая действует на шине . [3] Кроме того, для интеграции нескольких брокеров можно использовать более масштабируемый подход с несколькими центрами. [3]

Список программного обеспечения брокера сообщений [ править ]

  • Amazon Web Services (AWS) Amazon MQ
  • Amazon Web Services (AWS) Kinesis
  • Apache ActiveMQ
  • Апач Артемида
  • Апач Кафка
  • Apache Qpid
  • Апач Пульсар
  • Клеверный лист (Enovation Lifeline - NL)
  • Брокер сообщений Comverse ( технология Comverse )
  • Брокер Eclipse Mosquitto MQTT ( Фонд Eclipse )
  • Очередь транзакционных сообщений Enduro / X (TMQ)
  • Брокер сообщений Financial Fusion ( Sybase )
  • Fuse Message Broker (корпоративный ActiveMQ)
  • Gearman
  • Google Cloud Pub / Sub ( Google )
  • HiveMQ Брокер HiveMQ MQTT
  • EMQX EMQX MQTT Брокер
  • HornetQ ( Red Hat ) (теперь часть Apache Artemis)
  • IBM App Connect
  • IBM MQ
  • Обмен сообщениями JBoss ( JBoss )
  • JORAM
  • Служебная шина Microsoft Azure ( Microsoft )
  • Microsoft BizTalk Server ( Microsoft )
  • MigratoryData (очень масштабируемый брокер сообщений, способный решить проблему C10M, т.е. в 1000 раз больше масштабируемости, чем проблема C10k )
  • NATS ( лицензия MIT с открытым исходным кодом , написанная на Go )
  • Открыть очередь сообщений
  • Брокер сообщений Oracle ( корпорация Oracle )
  • RabbitMQ ( общественная лицензия Mozilla , написанная на Erlang )
  • Redis Хранение структуры данных в памяти с открытым исходным кодом, используемое в качестве базы данных, кеша и брокера сообщений.
  • SAP PI ( SAP AG )
  • Утешение PubSub +
  • Набор инструментов для распространения
  • Tarantool , база данных NoSQL с набором хранимых процедур для очередей сообщений.
  • Служба корпоративных сообщений TIBCO
  • Брокер сообщений WSO2

См. Также [ править ]

  • Шаблон публикации – подписки
  • MQTT
  • Сравнение программного обеспечения для бизнес-интеграции
  • По промежуточного слоя, ориентированного на сообщения

Ссылки [ править ]

  1. ^ a b «IB (брокер интеграции)» . ИТ-глоссарий . Gartner, Inc . Проверено 17 мая 2018 .
  2. ^ а б Кале, В. (2014). «Интеграционные технологии» . Руководство по облачным вычислениям для бизнес-менеджеров и менеджеров по технологиям: от распределенных вычислений до облачных приложений . CRC Press. С. 107–134. ISBN 9781482219227. Проверено 17 мая 2018 .
  3. ^ a b c d Samtani, G .; Садхвани, Д. (2013). «Брокеры интеграции и веб-службы» . In Clark, M .; Fletcher, P .; Hanson, JJ; и другие. (ред.). Бизнес-стратегии и архитектуры веб-сервисов . Апресс. С. 71–84. ISBN 9781430253563. Проверено 17 мая 2018 .
  4. ^ Ejsmont, A. (2015). «Асинхронная обработка». Веб-масштабируемость для начинающих инженеров . McGraw Hill Professional. С. 275–276. ISBN 9780071843669.