Hutch vs Kafka: What are the differences?
Hutch: Inter-Service Communication with RabbitMQ. Hutch is a Ruby library for enabling asynchronous inter-service communication in a service-oriented architecture, using RabbitMQ; Kafka: Distributed, fault tolerant, high throughput pub-sub messaging system. Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design.
Hutch and Kafka can be primarily classified 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, Kafka provides the following key features:
- Written at LinkedIn in Scala
- Used by LinkedIn to offload processing of all page and other views
- Defaults to using persistence, uses OS disk cache for hot data (has higher throughput then any of the above having persistence enabled)
Hutch and Kafka are both open source tools. Kafka with 12.7K GitHub stars and 6.81K forks on GitHub appears to be more popular than Hutch with 712 GitHub stars and 103 GitHub forks.
What is Hutch?
What is Kafka?
Need advice about which tool to choose?Ask the StackShare community!
Why do developers choose Hutch?
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Hutch?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
Front-end messages are logged to Kafka by our API and application servers. We have batch processing (on the middle-left) and real-time processing (on the middle-right) pipelines to process the experiment data. For batch processing, after daily raw log get to s3, we start our nightly experiment workflow to figure out experiment users groups and experiment metrics. We use our in-house workflow management system Pinball to manage the dependencies of all these MapReduce jobs.
Building out real-time streaming server to present data insights to Coolfront Mobile customers and internal sales and marketing teams.