A realtime distributed messaging platform designed to operate at scale, handling billions of messages per day.
NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day. It provides a decentralized architecture that eliminates single points of failure, ensuring fault tolerance and high availability with reliable message delivery guarantees. The platform is data-format agnostic and easy to deploy, making it suitable for high-throughput, real-time data processing.
Developers and architects building scalable, real-time data pipelines, microservices, or event-driven systems that require high message throughput and reliability. It's particularly valuable for teams operating at large scale in production environments.
Developers choose NSQ for its simplicity in deployment and operation, combined with robust distributed design that ensures no single point of failure. Its flexibility in message formats and official client libraries make it easy to integrate into existing systems while providing proven scalability for production workloads.
A realtime distributed messaging platform
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
NSQ's decentralized architecture eliminates single points of failure, enabling high availability and reliability for handling billions of messages daily, as emphasized in its design philosophy.
All parameters are command-line specified with compiled binaries having no runtime dependencies, making deployment straightforward across Linux, Darwin, FreeBSD, Windows, and Docker, per the README.
Supports JSON, MsgPack, Protocol Buffers, or any custom format, providing flexibility in message serialization without locking into a specific standard.
Used by major companies like Bitly, Stripe, and Docker, as shown in the logos, demonstrating its scalability and reliability in high-throughput, real-world environments.
Only first-party Go and Python libraries are provided; for other languages, developers must rely on community implementations or build custom clients using the documented protocol, adding integration effort.
The decentralized topology can make cluster management, monitoring, and troubleshooting more challenging than with centralized systems, requiring deeper operational expertise.
Focuses on real-time delivery with in-memory queues by default, potentially leading to message loss if consumers are slow or offline, unless configured for persistence, which isn't a core feature.