Hutch vs NSQ: What are the differences?
What is Hutch? Inter-Service Communication with RabbitMQ. Hutch is a Ruby library for enabling asynchronous inter-service communication in a service-oriented architecture, using RabbitMQ.
What is NSQ? 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.
Hutch and NSQ 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, NSQ provides the following key features:
- support distributed topologies with no SPOF
- horizontally scalable (no brokers, seamlessly add more nodes to the cluster)
- low-latency push based message delivery (performance)
Hutch and NSQ are both open source tools. NSQ with 15.6K GitHub stars and 2.03K forks on GitHub appears to be more popular than Hutch with 712 GitHub stars and 103 GitHub forks.