Chapter 7. Scaling RabbitMQ with clusters
This chapter covers
As a message broker, RabbitMQ is perfect for standalone applications. But suppose your application needs additional delivery guarantees that only highly available queues will satisfy. Or maybe you want to use RabbitMQ as a central messaging hub for many applications. RabbitMQ’s built-in clustering capabilities provide a robust, cohesive environment that can span multiple servers.
I’ll start by describing the features and behaviors of RabbitMQ clusters, and then you’ll set up a two-node RabbitMQ cluster in the Vagrant virtual machine (VM) environment. In addition, you’ll learn how queue placement is important for a performant cluster and how to set up HA queues. You’ll also learn how RabbitMQ’s clustering works at a low level and what server resources are most important to ensure cluster performance and stability. Closing out the chapter, you’ll learn how to recover from crashes and node failures.