Over a million developers have joined DZone.

Book Review: RabbitMQ Essentials by David Dossot

DZone's Guide to

Book Review: RabbitMQ Essentials by David Dossot

· Java Zone ·
Free Resource

Delivering modern software? Atomist automates your software delivery experience.

I have been working on integrating with RabbitMQ to implement the messaging architecture. All the time I made use of the basic tutorials available on RabbitMQ site to wade through understanding different concepts around AMQP and RabbitMQ.RabbitMQ Essentials

Yesterday I got to read the RabbitMQ Essentials by David Dossot. Its a pretty short and totally hands on book. The good things about the book:

  • It picks a fictitious company and its requirements to develop a messaging feature. The author builds up the features very elegantly.
  • Author explicitly focuses on good practices, performance in the examples presented in the book
  • Also touches upon how messaging architecture can integrate heterogenous software systems with software pieces written in Ruby, Python, Java.
  • Liberal use of diagrams to explain the architecture and flow of messages

I already had familiarity with communication constructs of RabbitMQ and didn’t find it difficult to understand the content and intent of the author. It also helped me to understand few intricate aspects like Dead letter queue and how to handle them, handling mandatory messages, setting ttl on the messages, different exchange types like direct, topic and fanout.

I feel the book is good read for anyone who has started using RabbitMQ and has worked on integrating with the client API. This book will help you correct your implementation and also understand few gotchas which one would encounter in real life projects.

Start automating your delivery right there on your own laptop, today! Get the open source Atomist Software Delivery Machine.


Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}