Book Image

RabbitMQ Essentials - Second Edition

By : Johansson, David Dossot
Book Image

RabbitMQ Essentials - Second Edition

By: Johansson, David Dossot

Overview of this book

RabbitMQ is an open source message queuing software that acts as a message broker using the Advanced Message Queuing Protocol (AMQP). This book will help you to get to grips with RabbitMQ to build your own applications with a message queue architecture. You’ll learn from the experts from CloudAMQP as they share what they've learned while managing the largest fleet of RabbitMQ clusters in the world. Following the case study of Complete Car, you’ll discover how you can use RabbitMQ to provide exceptional customer service and user experience, and see how a message queue architecture makes it easy to upgrade the app and add features as the company grows. From implementing simple synchronous operations through to advanced message routing and tracking, you’ll explore how RabbitMQ streamlines scalable operations for fast distribution. This book will help you understand the advantages of message queue architecture, including application scalability, resource efficiency, and user reliability. Finally, you’ll learn best practices for working with RabbitMQ and be able to use this book as a reference guide for your future app development projects. By the end of this book, you’ll have learned how to use message queuing software to streamline the development of your distributed and scalable applications.
Table of Contents (8 chapters)

Adding nodes to the cluster

Things have been running smoothly for CC, but developers want to ensure that the system can survive a crash. A crash is always possible, even when using RabbitMQ. Power outages happen, sudden packet losses may corrupt updates, and administrators can improperly configure the system by accident. There is still a chance that, due to a glitch or error, an entire instance could be lost. Steps must be taken to address any issues that could lead to data loss, negative customer experience, or even the dreaded 2 a.m. phone call to the team.

The good news is that RabbitMQ provides the features needed to deal with potential crashes and other catastrophes right out of the box. RabbitMQ can be configured to run in an active-active deployment environment, meaning that two or more nodes actively run the same kind of service simultaneously. Several brokers can be engaged in a cluster to act as a single highly available Advanced Message Queuing Protocol (AMQP) service.

There...