Kestrel vs RSMQ: What are the differences?
What is Kestrel? Simple, distributed message queue system. Kestrel is based on Blaine Cook's "starling" simple, distributed message queue, with added features and bulletproofing, as well as the scalability offered by actors and the JVM.
What is RSMQ? 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.
Kestrel and RSMQ can be primarily classified as "Message Queue" tools.
Some of the features offered by Kestrel are:
- Written by Robey Pointer
- Starling clone written in Scala (a port of Starling from Ruby to Scala)
- Queues are stored in memory, but logged on disk
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.
Kestrel and RSMQ are both open source tools. Kestrel with 2.8K GitHub stars and 326 forks on GitHub appears to be more popular than RSMQ with 1.07K GitHub stars and 78 GitHub forks.