- Save 10% on Books for Schools offered by Amazon.co.uk when you purchase 10 or more of the same book. Here's how (terms and conditions apply) Enter code SCHOOLS2016 at checkout. Here's how (terms and conditions apply)
RabbitMQ in Action: Distributed Messaging for Everyone Paperback – 4 May 2012
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Special Offers and Product Promotions
Frequently Bought Together
Customers Who Bought This Item Also Bought
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
About the Author
Alvaro Videla is a developer and architect specializing in MQ-based applications. He speaks about RabbitMQ at conferences throughout Asia, Europe, and the US.
Jason J. W. Williams is CTO of DigiTar, a messaging service provider where he directs design and development, including using RabbitMQ for real-time analysis operations since 2008.
What Other Items Do Customers Buy After Viewing This Item?
Top Customer Reviews
Most Helpful Customer Reviews on Amazon.com (beta)
With "RabbitMQ in Action," Williams and Videla offer to do the same thing for the open source message broker RabbitMQ. This book provides a friendly, concise, one-stop shopping way to learn the hows and whys of messaging, how to refactor and design your applications to reap maximal benefits from a messaging-oriented architecture, and how to deploy, run and monitor RabbitMQ and some of its more advanced features in production.
If you're considering or evaluating messaging in general, or RabbitMQ in particular, this book is a natural and fruitful place to start. I've enjoyed reviewing it during its writing and look forward to seeing what the user community accomplishes with its contents in hand.
One of the nice things about the book is that it does not assume the reader to know anything about messaging technologies, enterprise service buses and other concepts. It starts with a short history of messaging middleware, presents 'why's as well as 'how's and then describes how RabbitMQ came to be. Giving the reader a well-founded context is important for future explanations and discussions, not only particularly for RabbitMQ but for messaging challenges in general.
Another nice aspect of the book is that it strikes a very nice balance between explaining fundamental concepts and keeping a very hands-on attitude by providing the reader with complete code examples that make use of those concepts. They also do not forget to give just enough Erlang background to help those struggling with some aspects of RabbitMQ.
If the book only gave information about the fundamentals of RabbitMQ, it would still provide enough value, but it goes beyond that by discussing different architectures for different type of applications and messaging needs (and giving complete code examples for them), showing how to build a simple load balancing system using HAProxy and RabbitMQ in the cloud, and and if that was not enough, the authors also show how to build a simple but truly geographically distributed messaging architecture with failover capabilities.
Achieving all of these in about 300 pages is no easy task and I can easily recommend this book to any software architect, developer, or DevOps person who deal with messaging systems or want to explore how some common software and architectural challenges can be overcome with decoupling software components and letting a messaging broker such as RabbitMQ do the heavy lifting of carrying and routing messages throughout the system.
This book has a flat structure of 12 chapters, but I'd like to introduce my point of view and split it to three parts:
1. Theory - don't be afraid, it's definitely not boring. You'll learn about some interesting history (how AMQP evolved from a bunch of proprietary systems) and a very important theory behind messaging and AMQP protocol and its idioms (that RabbitsMQ implements). I think that anyone who works with RabbitMQ regularly ought to be familiar with the vast majority of these concepts.
2. Installing, coding and scaling - everything regarding running RabbitMQ on localhost, basic rabbit structures (exchanges, queues etc.), sending/receiving messages and various error strategies, creating clusters and connection management. This part is interesting mainly for system admins and day-to-day RabbitMQ tech users (probably mostly programmers). I really appreciate a lightweight approach to examples - most were either in Python or PHP, and all of them were clear and easy to get running.
3. Going to production - warrens, administering, monitoring - very cool for people who will actually be taking care of production versions of RabbitMQ and need to deal with non-functional requirements like monitoring, administering and security. Very in-depth and comprehensive. I don't think that these chapters necessarily need to be read cover-to-cover, but it is always nice to have high-level overview of RabbitMQ's functionalities and to be able to go back for a deeper dive whenever you need it.
If you're looking for a comprehensive resource for mastering RabbitMQ and you prefer a guided-approach (as opposed to official docs), you can't go wrong with this one.
I've been using RabbitMQ for over 3 years, developed and maintain multiple clients for it and wrote a non-trivial amount of documentation guides for them.
I still found this book useful for myself. It introduces you to the history of messaging tools. It explains *why* each feature of AMQP 0.9.1 exists. It provides realistic examples developers can relate to. It covers high availability and monitoring. It even covers RabbitMQ plugins and the ecosystem of clients and projects around it. Finally, and maybe most importantly, it is not boring.
So even if you choose to not use RabbitMQ, I'd recommend every developer to read it. A lot of the software built these days is distributed and consists of multiple applications and this trend is here to stay.