Lately I’ve been toying around with ZeroMQ a lot more (or ØMQ). A couple of years ago I thought it was definitely interesting since it was optimized for speed, and handled a few patterns. It wasn’t until recently though it clicked for me and it all made sense.
ZeroMQ is the Redis of Distributing Work.
Redis is a great database but more especially for being something that exposes an API around common data structures. For instance, if you want a Set, Hash, List, SortedSet or much much more you just have a simple command to either create, read, update, or delete them. See http://redis.io/commands for more.
ZeroMQ on the other hand is an exceptionally simple message queueing library. It allows you to send data between endpoints with ease. But what truly intrigues me is the ability to easily set up Pub/Sub, Request / Reply, Push / Pull, or Pipelining of data using a simple Socket API.
What a joy! What this means is I can focus on sending the data and not how to send it.