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 15.5K GitHub stars and 2K GitHub forks. Here’s a link to NSQ's open source repository on GitHub
Who uses NSQ?
21 companies use NSQ in their tech stacks, including bitly, Movable Ink, and Path.
8 developers use NSQ.
Why developers like NSQ?
Here’s a list of reasons why companies and developers use NSQ
Here are some stack decisions, common use cases and reviews by companies and developers who chose NSQ in their tech stack.
- 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?
See all alternatives
RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
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 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...