RabbitMQ In Action by Alvaro Videla and Jason J.W. Williams Review by Ryan Balfanz
I started reading "RabbitMQ in Action" having already used it in production. That said, I was still a bit unclear about some aspects of messaging in general: AMPQ and RabbitMQ, specifically. My previous experience included deploying RabbitMQ on AWS and using it to offload the job of sending many e-mails from my main application. For that I used django-celery.
The basics of messaging are not terribly hard to grasp, nor are they trivial (especially when your application ecosphere grows), but RabbitMQ did introduce some new ideas and nomenclature. RabbitMQ in Action solidified things I thought I knew, as well as shed some light on other concepts left murky from the drudge of blog posts and mailing lists I had consulted. I am not sure that having read some or all of RabbitMQ in Action would have allowed me to crank out the new features I built much faster, but after working through a lot of the issues I had, the text really made sense.
RabbitMQ in Action turned out to be a great asset, and I'm glad to have a copy around. After releasing the new e-mail feature and having built it on a messaging paradigm, I might not have really seen the potential that can be leveraged when you architect an application in such a way. The text gives several contrived, as well as thought provoking and inspirational, examples of ways an application might benefit from messaging. The fact that it shaped the way I think about certain problems really goes to show that it's a solid buy, especially if you're already considering using RabbitMQ. In fact, I think it would be a good asset for any messaging platform (e.g. ActiveMQ, ZeroMQ, etc.). Although, to be honest, I'm not sure how the specifics will map directly onto other systems.
The first chapter is a light introduction, pretty interesting. The second chapter is all about messaging; it was the chapter that really clarified the things that I did not understand well, or thought I did but really did not. Chapter three is all about administration. I did not find it terribly useful. Chapter four covers coding and patterns, which I really liked. Besides those, I mostly skimmed the text. The code samples are mostly in Python, but there is also some PHP and Java too.