Брокер сообщений
Брокер сообщений (также известный как брокер интеграции или механизм интерфейса) . [1] ) — это промежуточный компьютерный программный модуль , который преобразует сообщение из формального протокола обмена сообщениями отправителя в формальный протокол обмена сообщениями получателя. Брокеры сообщений — это элементы телекоммуникационных или компьютерных сетей, в которых программные приложения взаимодействуют посредством обмена формально определенными сообщениями. [1] Брокеры сообщений являются строительным блоком промежуточного программного обеспечения, ориентированного на сообщения (MOM), но обычно не являются заменой традиционного промежуточного программного обеспечения, такого как MOM и удаленный вызов процедур (RPC). [2] [3]
Обзор
[ редактировать ]Брокер сообщений — это архитектурный шаблон для проверки, преобразования и маршрутизации сообщений. Он обеспечивает связь между приложениями. [ нечеткий ] , минимизируя взаимную осведомленность, которую приложения должны иметь друг о друге, чтобы иметь возможность обмениваться сообщениями, эффективно реализуя развязку . [4]
Цель
[ редактировать ]Основная цель брокера — принимать входящие сообщения от приложений и выполнять над ними какие-либо действия. Брокеры сообщений могут отделять конечные точки, удовлетворять специфические нефункциональные требования и облегчать повторное использование промежуточных функций. Например, брокер сообщений может использоваться для управления очередью рабочей нагрузки или очередью сообщений для нескольких получателей, обеспечивая надежное хранилище, гарантированную доставку сообщений и, возможно, управление транзакциями.
Жизненный цикл
[ редактировать ]Ниже представлены другие примеры действий, которые может обрабатывать брокер: [2] [3]
- Направляйте сообщения в один или несколько пунктов назначения
- Преобразование сообщений в альтернативное представление
- Выполнение агрегации сообщений, разложение сообщений на несколько сообщений и отправка их по назначению, а затем повторное составление ответов в одно сообщение для возврата пользователю.
- Взаимодействуйте с внешним репозиторием, чтобы дополнить сообщение или сохранить его.
- Вызов веб-служб для получения данных
- Реагировать на события или ошибки
- Обеспечьте маршрутизацию сообщений на основе контента и тем, используя шаблон публикации-подписки.
Брокеры сообщений обычно основаны на одной из двух фундаментальных архитектур: звездообразной и шине сообщений. В первом случае центральный сервер действует как механизм, предоставляющий услуги интеграции, тогда как во втором брокер сообщений представляет собой магистраль связи или распределенную службу, действующую на шине . [3] Кроме того, для интеграции нескольких брокеров можно использовать более масштабируемый подход с несколькими концентраторами. [3]
Список программного обеспечения брокера сообщений
[ редактировать ]- Веб-службы Amazon (AWS) Amazon MQ
- Amazon Web Services (AWS) Kinesis
- Апач
- Клеверный лист (Enovation Lifeline – Нидерланды)
- Брокер сообщений Comverse ( технология Comverse )
- Coreflux Coreflux MQTT-брокер
- Eclipse Mosquitto MQTT-брокер ( Eclipse Foundation )
- EMQX EMQX MQTT-брокер
- Enduro/X (TMQ) Транзакционная очередь сообщений
- Брокер сообщений Financial Fusion ( Sybase )
- Брокер сообщений Fuse (корпоративный ActiveMQ)
- Германия
- Google Cloud Pub/Sub ( Google )
- HiveMQ HiveMQ MQTT-брокер
- HornetQ ( Red Hat ) (теперь часть Apache Artemis)
- IBM App Connect
- IBM MQ
- Обмен сообщениями JBoss ( JBoss )
- ЙОРАМ
- Служебная шина Microsoft Azure ( Microsoft )
- Сервер Microsoft BizTalk ( Microsoft )
- MigratoryData публикации/подписки, (брокер сообщений WebSockets написанный для решения проблемы C10M). [5] )
- NATS ( лицензия с открытым исходным кодом MIT , написанная на Go )
- NanoMQ MQTT-брокер для IoT Edge
- Открыть очередь сообщений
- Брокер сообщений Oracle ( Корпорация Oracle )
- RabbitMQ ( публичная лицензия Mozilla , написанная на Erlang )
- Redpanda (реализовать API Apache Kafka, написанный на C++ )
- Redis Хранилище структур данных в памяти с открытым исходным кодом, используемое в качестве базы данных, кэша и брокера сообщений.
- SAP PI ( SAP AG )
- SMC Платформа SMC
- Утешение PubSub+
- Распространение инструментария
- Tarantool — база данных NoSQL с набором хранимых процедур для очередей сообщений.
- TIBCO Служба корпоративных сообщений
- Брокер сообщений WSO2
- НольMQ
См. также
[ редактировать ]- Брокерское вливание
- Шаблон публикации-подписки
- MQTT
- Сравнение программного обеспечения для бизнес-интеграции
- Промежуточное программное обеспечение, ориентированное на сообщения
Ссылки
[ редактировать ]- ^ Jump up to: а б «ИБ (интеграционный брокер)» . ИТ-словарь . Гартнер, Инк . Проверено 17 мая 2018 г.
- ^ Jump up to: а б Кале, В. (2014). «Интеграционные технологии» . Руководство по облачным вычислениям для менеджеров по бизнесу и технологиям: от распределенных вычислений к облачным приложениям . ЦРК Пресс. стр. 107–134. ISBN 9781482219227 . Проверено 17 мая 2018 г.
- ^ Jump up to: а б с д Самтани, Г.; Садхвани, Д. (2013). «Интеграционные брокеры и веб-сервисы» . В Кларке, М.; Флетчер, П.; Хэнсон, Джей-Джей; и др. (ред.). Бизнес-стратегии и архитектуры веб-сервисов . Апресс. стр. 71–84. ISBN 9781430253563 . Проверено 17 мая 2018 г.
- ^ Эйсмонт, А. (2015). «Асинхронная обработка». Веб-масштабируемость для стартап-инженеров . МакГроу Хилл Профессионал. стр. 275–276. ISBN 9780071843669 .
- ^ Ротару, Михай; и др. (декабрь 2017 г.). «Надежный обмен миграционными данными с миллионами пользователей». Материалы 18-й конференции ACM/IFIP/USENIX Middleware: Industrial Track . стр. 1–7. arXiv : 1712.09876 . дои : 10.1145/3154448.3154449 . ISBN 9781450352000 . S2CID 35552786 .