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