NATS server, a high-performance messaging system for connecting services, devices and edge systems, part of the CNCF.
nsqio/nsq
NSQ is a realtime distributed messaging platform designed to handle very high message volumes without a single point of failure.
- Stars
- 25,771
- Forks
- 2,884
- Open issues
- 82
- Last commit
- 2 months ago
What is it?
NSQ is a message queue for passing messages between services in real time. Its topologies are distributed and decentralized, so there is no single broker whose failure takes the system down, and it aims for high availability with reliable delivery.
Deployment is simple: all parameters are set on the command line and the compiled binaries have no runtime dependencies. NSQ is agnostic to payload format, so messages can be JSON, MsgPack, Protocol Buffers or anything else. Official Go and Python client libraries are provided, along with many community clients and a documented TCP protocol for writing new ones.
Binary releases are published for Linux, Darwin, FreeBSD and Windows, and an official Docker image is available.
Key features
- 01Decentralized topology with no single point of failure.
- 02Reliable message delivery guarantees.
- 03Configured entirely through command-line parameters with no runtime dependencies.
- 04Format-agnostic payloads such as JSON, MsgPack or Protocol Buffers.
- 05Official Go and Python client libraries plus a documented TCP protocol.
Use cases
- Passing high-volume events between microservices in real time.
- Decoupling producers from consumers in a distributed backend.
- Running a self-managed messaging layer on Linux, Docker or Windows servers.
Quick start
- 1
Download a binary release for your platform from the releases page
- 2
Or run the official Docker image as described in the Docker deployment docs
Things to know
- The master branch is the development branch and may not be stable at all times.
In collections
Topics
FAQ
- What is nsq?
- NSQ is a realtime distributed messaging platform designed to handle very high message volumes without a single point of failure. NSQ is a message queue for passing messages between services in real time. Its topologies are distributed and decentralized, so there is no single broker whose failure takes the system down, and it aims for high availability with reliable delivery.
- Is nsq free to use? What license does it have?
- nsq is open source under the MIT license. Check the license terms before using it in commercial products.
- Is nsq still maintained?
- Updated within 6 months. The last commit to nsq was on Aug 11, 2026.
- What can I use nsq for?
- Passing high-volume events between microservices in real time. Decoupling producers from consumers in a distributed backend. Running a self-managed messaging layer on Linux, Docker or Windows servers.
- How do I install nsq?
- Download a binary release for your platform from the releases page Or run the official Docker image as described in the Docker deployment docs
- Where can I get nsq?
- The source code and installation instructions are on GitHub: https://github.com/nsqio/nsq
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source realtime server that adds reliable two-way WebSocket and SSE communication to existing backends.
Interview prep knowledge base for Java backend developers: concurrency, distributed systems, microservices, big data.
An in-memory data store used as a cache, data structure server, document store, vector database, and message broker.
An open source Go backend shipped as a single executable, with embedded SQLite, realtime subscriptions, file and user management, and an admin UI.
Open-source game backend server offering multiplayer, matchmaking, leaderboards, chat, and social features for games and apps.