Hutch vs Kestrel: What are the differences?
Developers describe Hutch as "Inter-Service Communication with RabbitMQ". Hutch is a Ruby library for enabling asynchronous inter-service communication in a service-oriented architecture, using RabbitMQ. On the other hand, Kestrel is detailed as "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.
Hutch and Kestrel can be categorized as "Message Queue" tools.
Some of the features offered by Hutch are:
- A simple way to define consumers (queues are automatically created and bound to the exchange with the appropriate binding keys)
- An executable and CLI for running consumers (akin to rake resque:work)
- Automatic setup of the central exchange
On the other hand, Kestrel provides the following key features:
- 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
Hutch and Kestrel are both open source tools. Kestrel with 2.8K GitHub stars and 326 forks on GitHub appears to be more popular than Hutch with 712 GitHub stars and 103 GitHub forks.