How to scale RabbitMQ across multiple Kubernetes Clusters How to scale RabbitMQ across multiple Kubernetes Clusters kubernetes kubernetes

How to scale RabbitMQ across multiple Kubernetes Clusters


You shouldn't cluster RabbitMQ nodes across regions. Your cluster will get split brain because of network delays. To synchronise RabbitMQ queues, exchanges between clusters you can use federation or shovel plugin, depending on your use case.

Federation plugin can be enabled on a cluster by running commands:

rabbitmqctl stop_apprabbitmq-plugins enable rabbitmq_federationrabbitmq-plugins enable rabbitmq_federation_managementrabbitmqctl start_app

Mode details on Federation.

For shovel:

rabbitmq-plugins enable rabbitmq_shovelrabbitmq-plugins enable rabbitmq_shovel_managementrabbitmqctl stop_apprabbitmqctl start_app

Mode details on Shovel.

Full example on how to setup Federation on RabbitMQ cluster can be found here.