Проверяет понимание посредника для асинхронного и надёжного обмена сообщениями между компонентами.
Брокер сообщений — это сервер, принимающий, хранящий и доставляющий сообщения между producer-ами и consumer-ами. Он обеспечивает асинхронность, надёжность (подтверждения, персистентность), маршрутизацию (exchange, topics), очереди, балансировку нагрузки и устойчивость к сбоям.
Роли брокера:
Приём: получает сообщения от отправителей (producers).
Хранение: удерживает их в очередях до обработки.
Доставка: отправляет сообщения подписанным получателям (consumers).
Ключевые функции:
Очереди и темы: точечная доставка (queues) или публикация/подписка (topics).
Регулирование нагрузки: prefetch, QoS, dead-letter queues.
Подтверждения (ACK/NACK): гарантируют, что сообщение не потеряно.
Персистентность: хранение сообщений на диске для выживания при перезагрузках.
Примеры:
RabbitMQ (AMQP), Apache Kafka, ActiveMQ, Redis Streams.
Когда применять:
Декомпозиция микросервисов: ослабление связей между ними.
Фоновые задачи: расчёты, рассылки, ETL.
Интеграция с внешними системами: надёжная доставка сообщений.