NSQ was created at Bitly in 2012 by Matt Reiferson and Jehiah Czebotar. Bitly needed a realtime, distributed messaging platform to handle their URL shortening service’s high-volume event processing. The goal was to build a system that could scale horizontally without a single point of failure.
NSQ was built with specific principles:
- Distributed by design: No single point of failure
- Simple deployment: Minimal dependencies, easy to operate
- Horizontal scalability: Add nodes to scale
- Multiple consumers: Fan-out message delivery
- Realtime: Low-latency message delivery
¶ Open Source and Growth (2013-2016)
| Year |
Event |
| 2013 |
NSQ open sourced by Bitly |
| 2014 |
Version 1.0 released |
| 2015 |
Wide adoption in Go community |
| 2016 |
Production use at scale (billions of messages/day) |
NSQ introduced several notable features:
- nsqlookupd: Service discovery without central coordination
- At-least-once delivery: Guaranteed message delivery with retries
- HTTP and TCP interfaces: Easy integration and monitoring
- Built-in HTTP stats: No external monitoring required
| Aspect |
Status |
| Development |
Community maintained |
| Latest Version |
1.3.0 |
| License |
MIT |
| Use Cases |
Realtime messaging, event streaming, microservices |
| Component |
Purpose |
| nsqd |
Message daemon (receives, queues, delivers) |
| nsqlookupd |
Service discovery (tracks nsqd instances) |
| nsqadmin |
Web UI for monitoring and management |
| Year |
Event |
| 2012 |
Development begins at Bitly |
| 2013 |
Open source release |
| 2014 |
Version 1.0 released |
| 2016 |
Production at massive scale |
| 2026 |
Version 1.3.0 stable |