--- aliases: tags: - зрелость/🌱 date: - - 2024-07-02 zero-link: - "[[00 Архитектура ПО]]" parents: linked: --- Брокеры способны обрабатывать 10000+ сообщений в секунду Для чего используются: - Межсервисное общение - Асинхронная запись логов приложения - Тяжелые ассинхронные задачи Требования к брокерам: - гарантия доставки сообщений - at least once delivery. Гарантируется, что наше сообщение получит хотя бы один клиент. - at most once delivery. - exactly once delivery. Гарантируется, что только один получатель получит сообщение. - порядок передачи сообщений - управление размером очереди - зеркалирование - масштабирование **Терминология:** - Брокер - это приложение, которое реализует модель [AMQP](Advanced%20Message%20Queuing%20Protocol.md). Которое принимает соединения клиентов для маршрутизации сообщений и т.п. - Сообщение (message) - это единица передаваемых данных. Включая мета-информацию. - Потребитель (consumer) - приложение, которое читает сообщения из очереди. - Производитель (producer) - приложение, которое отправляет сообщения в брокер. Примеры реализаций брокеров сообщений: - [RabbitMQ](RabbitMQ.md) - [Kafka](Kafka.md) - [[NATS]] - [Redis](Redis.md) (pub/sub, stream)