NSQ logo

NSQ

A realtime distributed messaging platform
140
349
+ 1
143

What is NSQ?

NSQ is a realtime distributed messaging platform designed to operate at scale, handling billions of messages per day. It promotes distributed and decentralized topologies without single points of failure, enabling fault tolerance and high availability coupled with a reliable message delivery guarantee. See features & guarantees.
NSQ is a tool in the Message Queue category of a tech stack.
NSQ is an open source tool with GitHub stars and GitHub forks. Here’s a link to NSQ's open source repository on GitHub

Who uses NSQ?

Companies
30 companies reportedly use NSQ in their tech stacks, including Stripe, Tokopedia, and Segment.

Developers
106 developers on StackShare have stated that they use NSQ.

NSQ Integrations

Pros of NSQ
29
It's in golang
20
Lightweight
19
Distributed
18
Easy setup
16
High throughput
10
Publish-Subscribe
7
Save data if no subscribers are found
7
Scalable
6
Open source
5
Temporarily kept on disk
2
Simple-to use
1
Load balanced
1
Free
1
Primarily in-memory
1
Topics and channels concept

NSQ's Features

  • support distributed topologies with no SPOF
  • horizontally scalable (no brokers, seamlessly add more nodes to the cluster)
  • low-latency push based message delivery (performance)
  • combination load-balanced and multicast style message routing
  • excel at both streaming (high-throughput) and job oriented (low-throughput) workloads
  • primarily in-memory (beyond a high-water mark messages are transparently kept on disk)
  • runtime discovery service for consumers to find producers (nsqlookupd)
  • transport layer security (TLS)
  • data format agnostic
  • few dependencies (easy to deploy) and a sane, bounded, default configuration
  • simple TCP protocol supporting client libraries in any language
  • HTTP interface for stats, admin actions, and producers (no client library needed to publish)
  • integrates with statsd for realtime instrumentation
  • robust cluster administration interface (nsqadmin)

NSQ Alternatives & Comparisons

What are some alternatives to NSQ?
RabbitMQ
RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
Kafka
Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
Redis
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.
NATS
Unlike traditional enterprise messaging systems, NATS has an always-on dial tone that does whatever it takes to remain available. This forms a great base for building modern, reliable, and scalable cloud and distributed systems.
gRPC
gRPC is a modern open source high performance RPC framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking...
See all alternatives

NSQ's Followers
349 developers follow NSQ to keep up with related blogs and decisions.