Message Queues: RabbitMQ in Go and Python
I’ve been playing around with various message queue implementations for a few projects, and wanted to write a quick post on some basics.
Message Queues
Before we get into the detail of RabbitMQ, it’s worth briefly defining exactly what a message queue is, of which RabbitMQ is just one implementation.
You may have heard message queues described as a “Publish/Subscribe” system, or “Pub/Sub” for short. This is a style of communication between software elements, where some components publish messages onto a queue, and others subscribe to that queue and listen for messages published on to it.
We’ll use Twitter as an illustrative analogy. I sent a link to this blog article within a tweet this morning. I did not address this tweet to anyone in particular, I just put it out there, assuming it was useful to at least somebody. Those that follow me saw this tweet, and made a decision to do something with this information or not. In this scenario, I was the publisher, and my followers were subscribers. Message Queues work very much the same way, but they also provide a much greater level of granularity for how to publish messages and subscribe to them.
Application developers Continue reading