Брокер сообщений — это программный паттерн или сервис, который обеспечивает промежуточное звено между приложениями, отправляющими и получающими сообщения. Он позволяет системам обмениваться информацией асинхронно, развязывая отправителя от получателя.
Основные компоненты:
- Производитель (Producer): Отправляет сообщения в брокер.
- Потребитель (Consumer): Получает сообщения из брокера.
- Очередь/Топик: Место хранения сообщений внутри брокера. Очередь - "один к одному", топик - "один ко многим".
Основные преимущества:
- Асинхронность: Отправитель не ждет обработки сообщения получателем.
- Декаплинг (Развязка): Отправитель и получатель не осведомлены о существовании друг друга напрямую.
- Масштабируемость: Можно легко добавить новых производителей или потребителей.
- Надежность: Брокер может сохранять сообщения до тех пор, пока они не будут успешно обработаны.
- Маршрутизация: Сообщения могут доставляться определенным потребителям на основе правил.
Примеры: Apache Kafka, RabbitMQ, ActiveMQ, Azure Service Bus, AWS SQS/SNS.
Используется в микросервисной архитектуре, системах реального времени, интеграции приложений.