Gearman vs Hutch: What are the differences?
Developers describe Gearman as "A generic application framework to farm out work to other machines or processes". Gearman allows you to do work in parallel, to load balance processing, and to call functions between languages. It can be used in a variety of applications, from high-availability web sites to the transport of database replication events. On the other hand, Hutch is detailed as "Inter-Service Communication with RabbitMQ". Hutch is a Ruby library for enabling asynchronous inter-service communication in a service-oriented architecture, using RabbitMQ.
Gearman and Hutch belong to "Message Queue" category of the tech stack.
Some of the features offered by Gearman are:
- Open Source It’s free! (in both meanings of the word) Gearman has an active open source community that is easy to get involved with if you need help or want to contribute. Worried about licensing? Gearman is BSD
- Multi-language - There are interfaces for a number of languages, and this list is growing. You also have the option to write heterogeneous applications with clients submitting work in one language and workers performing that work in another
- Flexible - You are not tied to any specific design pattern. You can quickly put together distributed applications using any model you choose, one of those options being Map/Reduce
On the other hand, Hutch provides the following key features:
- 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
Hutch is an open source tool with 712 GitHub stars and 103 GitHub forks. Here's a link to Hutch's open source repository on GitHub.