JetStream

JetStream — это подсистема Nats, которая обеспечивает персистентное хранение сообщений, позволяет объединять subjects в стримы, а также использовать consumer’ов для контроля доставки.

Так же JetStream предоставляет две дополнительные функции напрямую не связанные с функционалом messaging-системы:

  • KV Store - KV хранилище чем-то похожее на Redis.
  • Object store - объектное хранилище. Не совместимо никак с S3, те не менее можно использовать для хранения объектов. Интересным расширением для обоих функций является наличие служебных subject’ов которые получают сообщения по действиям в соответствующих сущностям.

JetStream не требует отдельной конфигурации так как является частью NATS сервера. Для запуска сервера с ним требуется указать в конфигурации:

jetstream {
    store_dir: /data/jetstream
    max_mem: 1G
    max_file: 100G
}