Tools · SPBoucher
Menu

NATS

by NATS project (CNCF; maintained principally by Synadia) · Platform · also known as NATS Server, JetStream, NATS.io

Lightweight Go messaging system with core pub/sub and request-reply plus JetStream persistence, key-value and object stores; a CNCF project

Apache-2.0 licenseOpen sourceFreeSelf-hostedCloudSelf-hostable
Visit official site Compare

Link verified Nov 2, 2026

Overview

NATS is a messaging system written in Go, distributed under Apache 2.0 and hosted by the Cloud Native Computing Foundation as an incubating project, with Synadia as the principal maintainer and commercial backer. The core server provides subject-based publish/subscribe, request-reply and queue groups with at-most-once delivery and very low operational overhead: a single static binary, clustering and superclusters with gateway connections, and leaf nodes that extend a deployment to edge devices. JetStream, built into the same binary, adds persistent streams with at-least-once or exactly-once semantics, durable consumers, replay by time or sequence, and key-value and object-store abstractions layered on streams. Clients exist for Go, Rust, Python, JavaScript, Java, .NET, C and others, and the nats CLI covers administration and testing.

NATS appeals to teams who want one small system for service messaging, lightweight event streaming and configuration or state distribution across clusters and edge sites, including Apple Silicon machines on a LAN. Its ecosystem of connectors and stream processors is smaller than Kafka's, message retention and throughput targets are more modest, and governance tensions between Synadia and the CNCF in 2025 were resolved with the project remaining under Apache 2.0.

Editorial note on uncertainty. Synadia's role as principal maintainer is editorial knowledge; the nats.io homepage names only the CNCF.

Capabilities

  • Subject-based pub/sub, request-reply and queue groups
  • JetStream persistent streams with durable consumers and replay
  • Key-value and object stores on JetStream
  • Clusters, superclusters and leaf nodes for edge topologies
  • Single static binary with built-in monitoring endpoints
  • Clients in Go, Rust, Python, JavaScript, Java, .NET and C

Typical workflows

  1. Service-to-service messaging across a LAN cluster of machines
  2. Edge devices publishing telemetry through leaf nodes
  3. Lightweight event streaming with replay for a small platform

Strengths

  • Very simple deployment and operation
  • Persistence, KV and object store in one binary
  • Apache 2.0 under CNCF governance

Limitations

  • Smaller connector ecosystem than Kafka
  • Lower retention and throughput targets than log-centric platforms
  • Commercial roadmap closely tied to one company

Prerequisites

  • The nats-server binary or container

Who it is for

  • Backend and platform developers
  • Edge and IoT system builders

Alternatives & comparison

  • Apache Kafka

    Distributed event streaming platform with durable, partitioned, replayable logs, Kafka Connect connectors and Kafka Streams processing

    Open sourceOpen source
  • BullMQ

    Redis-backed job and message queue for Node.js (with a Python port) offering workers, flows, rate limiting, repeatable jobs and a commercial Pro tier

    MixedOpen source
  • pg-boss

    Node.js job queue that uses PostgreSQL tables and SKIP LOCKED for reliable background jobs, scheduling and retries without a separate broker

    Open sourceOpen source
  • RabbitMQ

    Open-source message broker in Erlang supporting AMQP 0-9-1 and 1.0, MQTT, STOMP and Streams, with routing, acknowledgements and quorum queues

    Open sourceOpen source
  • Redis

    In-memory key-value data store used as cache, message broker and database, with data structures, Pub/Sub, Streams and, since Redis 8, built-in JSON, search and time-series modules

    MixedOpen source
Compare NATS with its alternatives →

Sources & verification

Primary sources consulted for this record. Claims are tied to the fields each source supports; the automated link checker re-verifies every URL on a schedule.

  • License
    nats-server LICENSE (Apache 2.0)

    https://github.com/nats-io/nats-server/blob/main/LICENSE

    Supports: license_spdx, source_model

    checked Nov 1, 2026
  • Official documentation
    NATS Docs

    https://docs.nats.io/

    Supports: capabilities, languages

    checked Nov 1, 2026
  • Official site
    NATS.io

    https://nats.io/

    Supports: name, summary, vendor

    States NATS is a CNCF incubating project

    checked Nov 1, 2026
  • Repository
    nats-io/nats-server

    https://github.com/nats-io/nats-server

    Supports: repo_url

    checked Nov 1, 2026
Confidence
High
Reviewed
Nov 1, 2026
Links
Verified · Nov 2, 2026

Spotted an error?

Broken link, outdated license, wrong category, or a tool that no longer exists? Tell us; reports are reviewed by the editor.

pg-boss

Tim Jones (pg-boss project) · Messaging & queues

Node.js job queue that uses PostgreSQL tables and SKIP LOCKED for reliable background jobs, scheduling and retries without a separate broker

MITOpen sourceFreeLocalSelf-hostedNov 2, 2026