nsqio/nsq

A realtime distributed messaging platform

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 1 hour ago
Added to GitGenius on September 2nd, 2026
Created on May 12th, 2012
Open Issues & Pull Requests: 78 (+0)
GitHub issues: Enabled
Number of forks: 2,888
Total Stargazers: 25,777 (+0)
Total Subscribers: 821 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

NSQ is a realtime distributed messaging platform written in Go that provides a decentralized approach to message queuing without requiring a master node or external dependencies.

NSQ solves the problem of reliably routing messages between producers and consumers in distributed systems. It uses a topology where nsqd daemons run on each node, nsqlookupd provides service discovery, and clients connect directly to nsqd instances. Messages are persisted to disk and the system handles consumer disconnections gracefully through timeout-based requeuing. The architecture eliminates single points of failure by allowing any nsqd instance to operate independently while still participating in a coordinated cluster through the lookup service.

Teams building systems that need straightforward message routing without operational complexity around master election or consensus protocols should consider NSQ. It works well for applications requiring at-least-once delivery semantics and horizontal scalability across many nodes. The lack of external dependencies and the Go implementation make it particularly suitable for infrastructure-heavy environments where operational simplicity matters. NSQ's direct client-to-daemon connection model differs from broker-centric systems and suits scenarios where consumers can discover and connect to multiple queue instances.

Development on the project shows consistent maintenance with regular commits addressing issues and improvements. The codebase demonstrates active engagement with bug reports and feature requests from users. The project maintains clear documentation and examples that help new users understand the platform's design philosophy. Contributions are reviewed and integrated steadily, indicating an open approach to community involvement.