NSQ vs RSMQ: 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, RSMQ is detailed as "A lightweight message queue for Node.js that requires no dedicated queue server. Just a Redis server". tl;dr: If you run a Redis server and currently use Amazon SQS or a similar message queue you might as well use this fast little replacement. Using a shared Redis server multiple Node.js processes can send / receive messages.
NSQ and RSMQ 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, RSMQ provides the following key features:
- Guaranteed delivery of a message to exactly one recipient within a messages visibility timeout.
- Received messages that are not deleted will reappear after the visibility timeout.
NSQ and RSMQ are both open source tools. NSQ with 15.5K GitHub stars and 2.04K forks on GitHub appears to be more popular than RSMQ with 1.07K GitHub stars and 74 GitHub forks.