Tom's wiki

NATS

https://nats.io

A messaging system written in Go.

Core NATS is just a pub/sub message broker. It does not store messages, so if nobody is subscribed to a topic, the messages are lost.

JetStream is a persistence layer for Core NATS that stores messages. It can be used as a persistent queue and as a key-value store.

Core NATS is limited to at-most-once message delivery, while JetStream supports at-least-once and exactly-once (with additional client requirements).

Features:

Supported patterns:

Learn