NATS
NATS.io — это система обмена сообщениями с открытым исходным кодом, которая используется для создания распределённых и масштабируемых приложений.
Компоненты NATS
- NATS Core: обеспечивает простую и высокопроизводительную платформу обмена сообщениями с поддержкой низкой задержки.
- JetStream: добавляет функции хранения сообщений и гарантированной доставки, расширяя возможности системы для более сложных сценариев.
Паттерны использования NATS
- Pub-Sub (Publish-Subscribe): Позволяет отправителям публиковать сообщения, а получателям подписываться на них.
- Request-Reply: Поддерживает взаимодействие “запрос-ответ” между сервисами.
- Queue Groups: Позволяет распределять сообщения между несколькими получателями, объединенными в группу.
Паттерны, требующие JetStream
- Message Persistence: Обеспечивает длительное хранение сообщений для последующего доступа.
- Stream Replay: Позволяет повторно проигрывать поток сообщений с поддержкой времени.
- At-Least-Once Delivery: Гарантирует, что сообщения будут доставлены хотя бы один раз.