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: Гарантирует, что сообщения будут доставлены хотя бы один раз.