Брокер сообщений (, integration broker, interface engine) — архитектурный шаблон в распределённых системах; приложение, которое преобразует сообщение по одному протоколу от приложения-источника в сообщение протокола приложения-приёмника, тем самым выступая между ними посредником. Кроме преобразования сообщений из одного формата в другой, в задачи брокера сообщений также входит: проверка сообщения на ошибки; маршрутизация конкретному приемнику(ам); разбиение сообщения на несколько маленьких, а затем агрегирование ответов приёмников и отправка результата источнику; сохранение сообщений в базе данных; вызов веб-сервисов; распространение сообщений подписчикам, если используются шаблоны типа «издатель — подписчик».
Использование брокеров сообщений позволяет разгрузить веб-сервисы в распределённой системе, так как при отправке сообщений им не нужно тратить время на некоторые ресурсоёмкие операции типа маршрутизации и поиска приёмников. Кроме того, брокер сообщений для повышения эффективности может реализовывать стратегии упорядоченной рассылки и определение приоритетности, балансировать нагрузку и прочее.
Список брокеров сообщений
Amazon Web Services (AWS) Amazon MQ Amazon Web Services (AWS) Kinesis Apache ActiveMQ Apache Artemis Apache Kafka Apache Qpid Apache Pulsar Cloverleaf (Enovation Lifeline - NL) Comverse Message Broker (Comverse Technology) Eclipse Mosquitto MQTT Broker (Eclipse Foundation) Enduro/X Transactional Message Queue (TMQ) Financial Fusion Message Broker (Sybase) Fuse Message Broker (enterprise ActiveMQ) Gearman Google Cloud Pub/Sub (Google) HiveMQ HiveMQ MQTT Broker EMQX EMQX MQTT Broker HornetQ (Red Hat) (Now part of Apache Artemis) IBM App Connect IBM MQ JBoss Messaging (JBoss) JORAM Microsoft Azure Service Bus (Microsoft) Microsoft BizTalk Server (Microsoft) MigratoryData (a publish/subscribe WebSockets message broker written to address the C10M problem ) NATS (MIT Open Source License, written in Go) Open Message Queue Oracle Message Broker (Oracle Corporation) RabbitMQ (Mozilla Public License, written in Erlang) Redis An open source, in-memory data structure store, used as a database, cache and message broker. SAP PI (SAP AG) Solace PubSub+ Spread Toolkit Tarantool, a NoSQL database, with a set of stored procedures for message queues TIBCO Enterprise Message Service WSO2 Message Broker
Ссылки
Категория:Архитектура распределённых вычислений Категория:Распределённые вычисления Категория:Связующее программное обеспечение Категория:Технологии программного обеспечения Категория:Интеграция приложений предприятия