Mettre en place un cluster RabbitMQ haute disponibilité avec mirrored queues

Publié le 16 juillet 2025

Messaging
Infrastructure
Haute Disponibilité

RabbitMQ est un broker de messages robuste, mais pour assurer une haute disponibilité, il est recommandé de déployer un cluster et d’utiliser des mirrored queues. Ce guide détaille l’installation, la configuration du cluster et la création de policies pour le mirroring et le load balancing.

Prérequis

  • Trois nœuds RabbitMQ (Debian/Ubuntu ou RHEL/CentOS)
  • Erlang compatible installé
  • Ports ouverts : 5672, 4369, 25672, 15672 (management)

1. Installation des prérequis

sudo apt update
sudo apt install -y erlang rabbitmq-server

2. Créer le cluster

Sur le premier nœud (node1) :

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl start_app

Sur les nœuds suivants (node2, node3) :

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

Vérifiez le cluster :

sudo rabbitmqctl cluster_status

3. Configurer les mirrored queues

Définissez une policy pour mirror toutes les queues :

sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
  • "ha-mode":"all" : réplique sur tous les nœuds
  • "ha-sync-mode":"automatic" : synchronisation automatique

4. Mettre en place le load balancing

Utilisez un load balancer (HAProxy, Nginx) pour répartir les connexions sur les ports AMQP et HTTP management :

Exemple HAProxy

frontend rabbitmq-amqp
    bind *:5672
    default_backend rabbitmq-nodes

backend rabbitmq-nodes
    mode tcp
    balance roundrobin
    server node1 10.0.0.1:5672 check
    server node2 10.0.0.2:5672 check
    server node3 10.0.0.3:5672 check

5. Surveillance et tests

  • Management UI : http://node1:15672
  • Vérifiez la synchronisation des mirrored queues :
sudo rabbitmqctl list_queues name slave_pids synchronised_slave_pids

Conclusion

Avec ce cluster RabbitMQ hautement disponible, vos applications bénéficient d’une résilience et d’une continuité de service, assurées par les mirrored queues et un équilibrage de charge adapté.

Besoin d'aide sur ce sujet ?

Notre équipe d'experts est là pour vous accompagner dans vos projets.

Contactez-nous

Articles similaires qui pourraient vous intéresser