The Zen of High Performance Messaging with NATS
summary
NATS claims raw throughput of 11M messages per second using the nats-bench microbenchmark and runs as a compact single binary 7MB Go server. It implements a tiny plain‑text TCP protocol with only publish, subscribe, ping and info, provides ephemeral inboxes to implement request/reply, supports full‑mesh clustering for HA and client autodiscovery, and intentionally gives at-most-once delivery (no built‑in persistence), with NATS Streaming available for replay and stronger guarantees.
AI-written summary · about
chapters (14)
- 0:00Introduction to NATS
- 1:04What is NATS?
- 3:36NATS Design Philosophy
- 6:25NATS Protocol and Commands
- 8:49Request-Reply Pattern
- 11:27Client Libraries and Features
- 14:11Handling Slow Consumers
- 16:08Advanced Subject Routing
- 18:35Building Distributed Systems
- 21:24Clustering and Discovery
- 24:05Load Balancing with Queues
- 26:55High-Performance Request-Reply
- 29:55End-to-End Guarantees
- 32:37Q&A and NATS Streaming
related talks
37mIntro: NATS
37mConnect All the Things! Using NATS To Simplify Communication Everywhere
21mNATS: A high-performance messaging system for communication between services
29mA New Generation of NATS
35mThe NATS Stack - Libraries Extensions and the Execution Engine
34mState of NATS: Core, Persistence, & Materialized Views
25mBeyond Kafka: Leveraging Event-Driven Architectures with Go and NATS JetStream
25mInside the Decision: Why Groww Chose NATS Over WebSockets
