NSQ vs ZeroMQ: What are the differences?
Developers describe NSQ as "A realtime distributed messaging platform". 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. On the other hand, ZeroMQ is detailed as "Fast, lightweight messaging library that allows you to design complex communication system without much effort". The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.
NSQ and ZeroMQ can be categorized as "Message Queue" tools.
Some of the features offered by NSQ are:
- support distributed topologies with no SPOF
- horizontally scalable (no brokers, seamlessly add more nodes to the cluster)
- low-latency push based message delivery (performance)
On the other hand, ZeroMQ provides the following key features:
- Connect your code in any language, on any platform.
- Carries messages across inproc, IPC, TCP, TPIC, multicast.
- Smart patterns like pub-sub, push-pull, and router-dealer.
"It's in golang" is the primary reason why developers consider NSQ over the competitors, whereas "Fast" was stated as the key factor in picking ZeroMQ.
NSQ and ZeroMQ are both open source tools. NSQ with 15.5K GitHub stars and 2.04K forks on GitHub appears to be more popular than ZeroMQ with 5.28K GitHub stars and 1.56K GitHub forks.
SocialDecode, Binary.com, and Pixotale are some of the popular companies that use ZeroMQ, whereas NSQ is used by Docker, Segment, and bitly. ZeroMQ has a broader approval, being mentioned in 35 company stacks & 12 developers stacks; compared to NSQ, which is listed in 21 company stacks and 8 developer stacks.