Chapter 7. Warrens and Shovels: failover and replication

 

This chapter covers

  • Understanding active/standby pairs (warrens)
  • Creating warrens with load balancers
  • Building long-distance replication using Shovel

So far when we’ve talked about high availability, it’s always been in the context of RabbitMQ’s built-in clustering. But clustering isn’t the only way to build resiliency into your Rabbit infrastructure, and depending on your needs it’s not always the right way either. Clustering makes you trade the benefit of all the nodes acting as single unit to distribute the load for the drawback of not being able to use durable queues on downed nodes until the nodes are restored. Also, clustering won’t give you what you need to build a RabbitMQ architecture that’s distributed across more than one data center. So though clustering might initially sound like a Swiss army knife for our availability problems, you still need a couple of other tools in your toolbox. That’s where warrens and Shovel come in.

7.1. Warrens: another way of clustering

7.2. Setting up load balancer–based master/slave clusters

7.3. Long-distance communication and replication

7.4. Summary