RabbitMQ Cookbook
eBook: $26.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $71.98    Print cover: $44.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Create scalable distributed applications with RabbitMQ
  • Exploit RabbitMQ on both Web and mobile platforms
  • Deploy message services on cloud computing platforms
  • Full of screenshots and descriptions with clear, step-by-step instructions and practical examples

Book Details

Language : English
Paperback : 288 pages [ 235mm x 191mm ]
Release Date : December 2013
ISBN : 1849516502
ISBN 13 : 9781849516501
Author(s) : Sigismondo Boschi, Gabriele Santomaggio
Topics and Technologies : All Books, Cookbooks, Open Source

Table of Contents

Chapter 1 : Working with AMQP
Chapter 2 : Going beyond the AMQP Standard
Chapter 3 : Managing RabbitMQ
Chapter 4 : Mixing Different Technologies
Chapter 5 : Using RabbitMQ in Web Applications
Chapter 6 : Developing Scalable Applications
Chapter 7 : Developing High-availability Applications
Chapter 8 : Performance Tuning for RabbitMQ
Chapter 9 : Extending RabbitMQ Functionality
Chapter 10: RabbitMQ on AWS
Chapter 11: AMQP and Cloud Computing – RabbitMQ on PaaS
Chapter 12 : Managing RabbitMQ Error Conditions
  • Chapter 1 : Working with AMQP
    • Introduction
    • Connecting to the broker
    • Producing messages
    • Consuming messages
    • Using body serialization with JSON
    • Using RPC with messaging
    • Broadcasting messages
    • Working with message routing using direct exchanges
    • Working with message routing using topic exchanges
    • Guaranteeing message processing
    • Distributing messages to many consumers
    • Using message properties
    • Messaging with transactions
    • Handling unroutable messages
  • Chapter 2 : Going beyond the AMQP Standard
    • Introduction
    • How to let messages expire
    • How to let messages expire on specific queues
    • How to let queues expire
    • Managing rejected or expired messages
    • Understanding the alternate exchange extension
    • Understanding the validated user-ID extension
    • Notifying the consumers of queue failures
    • Understanding the exchange-to-exchange extension
    • Embedding message destinations within messages
  • Chapter 3 : Managing RabbitMQ
    • Introduction
    • Using vhosts
    • Configuring users
    • Using SSL
    • Implementing client-side certificates
    • Managing RabbitMQ from a browser
    • Configuring RabbitMQ parameters
    • Developing Python applications to monitor RabbitMQ
    • Developing your own web applications to monitor RabbitMQ
  • Chapter 4 : Mixing Different Technologies
    • Introduction
    • Using a .NET client
    • Binding an app from iPhone to RabbitMQ via MQTT
    • Using messaging to update Google Maps on Android
    • Publishing messages from Android in the background
    • Exchanging RabbitMQ messages with Qpid
    • Exchanging RabbitMQ messages with Mosquitto
    • Binding a WCF application with .Net clients
  • Chapter 6 : Developing Scalable Applications
    • Introduction
    • Creating a localhost cluster
    • Creating a simple cluster
    • Adding a RabbitMQ cluster automatically
    • Introducing a load balancer to consumers
    • Creating clients of the cluster
  • Chapter 7 : Developing High-availability Applications
    • Introduction
    • Mirroring queues
    • Synchronizing queues
    • Optimizing mirror policies
    • Distributing messages between a couple of brokers
    • Creating a geographical cluster replication
    • Filtering and forwarding messages
    • Combining high-availability technologies together
    • Client high availability
  • Chapter 9 : Extending RabbitMQ Functionality
    • Introduction
    • Enabling and configuring the STOMP plugin
    • Managing a RabbitMQ cluster
    • Monitoring Shovel status
    • Developing new plugins – attaching to a relational database with ODBC
  • Chapter 10: RabbitMQ on AWS
    • Introduction
    • Using RabbitMQ EC2 instances
    • Creating a master image
    • Creating a cluster with two EC2 instances
    • Using AWS Load Balancing in front of a RabbitMQ cluster
    • Configuring EC2 dynamic bind
    • Dealing with load spikes and resource optimization in the cloud
  • Chapter 12 : Managing RabbitMQ Error Conditions
    • Introduction
    • Monitoring RabbitMQ's behavior
    • Using RabbitMQ to troubleshoot itself
    • Tracing RabbitMQ's ongoing activity
    • Debugging RabbitMQ's messages
    • What to do when RabbitMQ fails to restart
    • Debugging using Wireshark

Sigismondo Boschi

Sigismondo Boschi is a software developer currently involved in projects of messaging and networking distributed applications.

Prior to this, he has had more than 10 years' experience working with distributed applications and message-passing paradigms. He first acquired a PhD in Computational Physical Chemistry from the University of Bologna, and then has worked in the Development of Scientific High Performance Computing Projects.

Gabriele Santomaggio

Gabriele Santomaggio has worked in the IT industry for more than 15 years. He is a developer, and very keen on middleware and distributed applications. Currently, he is working on high-performance Java applications.

He is the member of a big IT Italian community (www.indigenidigitali.com/) where he has published some posts about Amazon Web Services and message-oriented middleware (http://blog.indigenidigitali.com/tag/gabriele-santomaggio/).

He likes running and listening to jazz music.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.

Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

RabbitMQ Cookbook +    Pentaho 5.0 Reporting by Example: Beginner’s Guide =
50% Off
the second eBook
Price for both: £24.65

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Produce and consume AQMP messages using the fire-and-forget messaging model
  • Optimize messaging applications using RabbitMQ extensions
  • Learn how to configure RabbitMQ parameters, enable RabbitMQ plugins, and monitor RabbitMQ activities
  • Integrate with other protocols such as MQTT, STOMP, and JSON
  • Develop Web applications with RabbitMQ as a service bus
  • Create a scalable and robust application using RabbitMQ clustering
  • Create a highly available RabbitMQ cluster using RabbitMQ HA policies
  • Create a geographic RabbitMQ cluster using the federation and shovel plugins
  • Create and auto-scale a RabbitMQ cluster on Amazon Web Services
  • Deploy and use RabbitMQ on Cloud-Foundry
  • Create custom RabbitMQ plugins in Erlang

In Detail

RabbitMQ is an open source message broker software (sometimes called message-oriented middleware) that implements the Advanced Message Queuing Protocol (AMQP). The RabbitMQ server is written in the Erlang programming language and is built on the Open Telecom Platform framework for clustering and failover. Messaging enables software applications to connect and scale. Applications can connect to each other as components of a larger application or to user devices and data.

RabbitMQ Cookbook touches on all the aspects of RabbitMQ messaging. You will learn how to use this enabling technology for the solution of highly scalable problems dictated by the dynamic requirements of Web and mobile architectures, based for example on cloud computing platforms. This is a practical guide with several examples that will help you to understand the usefulness and the power of RabbitMQ.

This book helps you learn the basic functionalities of RabbitMQ with simple examples which describe the use of RabbitMQ client APIs and how a RabbitMQ server works. You will find examples of RabbitMQ deployed in real-life use-cases, where its functionalities will be exploited combined with other technologies. This book helps you understand the advanced features of RabbitMQ that are useful for even the most demanding programmer. Over the course of the book, you will learn about the usage of basic AMQP functionalities and use RabbitMQ to let decoupled applications exchange messages as per enterprise integration applications. The same building blocks are used to implement the architecture of highly scalable applications like today's social networks, and they are presented in the book with some examples. You will also learn how to extend RabbitMQ functionalities by implementing Erlang plugins.

This book combines information with detailed examples coupled with screenshots and diagrams to help you create a messaging application with ease.


A practical book filled with advanced recipes as well as plenty of code and real-life examples which will make your learning curve quick and easy.

Who this book is for

If you are a software developer who wants to develop distributed applications based on messaging, then this book is for you. It’s assumed that you have some experience with multithreading applications and distributed applications. You are also expected to know the basic concepts of Web and cloud applications in order to follow the recipes effectively.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software