NATS vs NSQ: What are the differences?
Developers describe NATS as "Lightweight publish-subscribe & distributed queueing messaging system". 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. On the other hand, NSQ is detailed 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.
NATS belongs to "Realtime Backend / API" category of the tech stack, while NSQ can be primarily classified under "Message Queue".
"Fastest pub-sub system out there" is the top reason why over 13 developers like NATS, while over 23 developers mention "It's in golang" as the leading cause for choosing NSQ.
NSQ is an open source tool with 15.6K GitHub stars and 2.03K GitHub forks. Here's a link to NSQ's open source repository on GitHub.
Apcera, Workiva, and Bridgevine are some of the popular companies that use NATS, whereas NSQ is used by Stripe, Docker, and Segment. NATS has a broader approval, being mentioned in 26 company stacks & 12 developers stacks; compared to NSQ, which is listed in 21 company stacks and 8 developer stacks.