39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
---
|
|
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) |