Prendre rendez-vous
  1. Accueil
  2. /
  3. Blog
  4. /
  5. Mettre en place un cluster RabbitMQ haute disponibilité avec mirrored queues

Haute Disponibilité
Infrastructure

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

16 juillet 2025

3 min de lecture

Sommaire
Prérequis
Alternatives et monitoring
1. Installation des prérequis
2. Créer le cluster
3. Configurer les mirrored queues (DEPRECATED)
3b. RECOMMANDÉ : Utiliser les Quorum Queues (Raft-based)
4. Mettre en place le load balancing
5. Surveillance et tests
Conclusion

RabbitMQ est un broker de messages éprouvé, mais pour tenir une haute disponibilité, déployez un cluster et utilisez 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)

Alternatives et monitoring

  • Supervisez avec Prometheus et Grafana
  • Gérez les logs avec logrotate et la rotation des logs
  • Automatisez avec cron et systemd timers

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 (DEPRECATED)

⚠️ AVERTISSEMENT CRITIQUE : Les mirrored queues (ha-mode:all) sont DÉPRÉCIÉES depuis RabbitMQ 3.8 (2019) et seront SUPPRIMÉES dans RabbitMQ 4.0. Cette section est fournie uniquement pour les installations existantes. Préférez les quorum queues (voir section 3b ci-dessous) pour tout nouveau déploiement.

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

3b. RECOMMANDÉ : Utiliser les Quorum Queues (Raft-based)

Les quorum queues sont le remplaçant moderne des mirrored queues. Elles offrent une meilleure performance et une vraie consensus-based replication avec le protocole Raft.

Activer les quorum queues globalement
sudo rabbitmqctl set_policy quorum "^quorum\." '{"queue-mode":"quorum"}' --apply-to queues
Déclarer une quorum queue (avec Python/Pika)
import pika

connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()

# Déclaration d'une queue quorum
channel.queue_declare(
    queue='my-queue',
    arguments={'x-queue-type': 'quorum'}
)

connection.close()
Déclarer une quorum queue (avec RabbitMQ CLI)
sudo rabbitmqctl declare_queue --queue my-queue --queue-type quorum

Avantages des quorum queues vs mirrored queues :

  • ✅ Basées sur le consensus Raft (plus sûr)
  • ✅ Meilleures performances sous charge
  • ✅ Synchronisation plus efficace
  • ✅ Support officiel et maintenance active
  • ❌ Mirrored queues : mode legacy, performance dégradée, sera supprimé RabbitMQ 4.0

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 (legacy) :
sudo rabbitmqctl list_queues name slave_pids synchronised_slave_pids
  • Vérifiez l'état des quorum queues (moderne) :
sudo rabbitmqctl list_queues name leader_replica_index replicas

Conclusion

Avec ce cluster RabbitMQ hautement disponible, vos applications bénéficient d'une résilience et d'une continuité de service.

Pour les nouveaux projets, privilégiez les quorum queues qui offrent une meilleure performance et une maintenance à long terme. Les mirrored queues restent disponibles pour les installations existantes mais seront supprimées dans RabbitMQ 4.0.

Associé à un équilibrage de charge adapté (HAProxy, Nginx), votre système de messaging tient la charge et passe à l'échelle.

Besoin d'aide sur ce sujet ?

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

Contactez-nous

Articles similaires

Harvester HCI : alternative VMware open source par SUSE/Rancher
Infrastructure
Kubernetes
Haute Disponibilité

Harvester HCI : alternative VMware open source par SUSE/Rancher

HCI cloud-native bâtie sur Kubernetes, KubeVirt et Longhorn. Architecture, prérequis, intégration Rancher, comparaison Proxmox et VMware, retour ops.

21 mai 2026

Lire plus

Plan de reprise d'activité : concevoir un PRA infrastructure qui tient
Infrastructure
Haute Disponibilité
Sauvegarde

Plan de reprise d'activité : concevoir un PRA infrastructure qui tient

Élaborez votre PRA informatique : RPO/RTO, stratégies de réplication, tests de bascule, documentation et retour d'expérience pour une reprise garantie.

27 févr. 2026

Lire plus

Classification Tier des datacenters : comprendre les niveaux de fiabilité
Infrastructure
Haute Disponibilité

Classification Tier des datacenters : comprendre les niveaux de fiabilité

Décryptage de la classification Tier I à IV de l'Uptime Institute : redondance, disponibilité, coûts et critères de choix pour votre hébergement.

21 févr. 2026

Lire plus


SHPV, votre partenaire de confiance en infrastructure et infogérance informatique en France.

SHPV
Prendre rendez-vousNous contacter
Expertise
InfrastructureDatacenterInfogéranceCloudHébergementTransit IP
Légales
Conditions Générales de VenteCPS - Contrat de ServicesCPS - Hébergement CloudCPS - Microsoft 365Accord sous-traitance RGPDTarifs interventions

SHPV © 2026 - Tous droits réservés

Mentions légalesPolitiques de confidentialité
SHPV FRANCE - SAS au capital de 16 000 € - 52 Rue Romain Rolland, 71230 Saint-Vallier - SIRET n°80886287400035 - R.C.S. Chalon-sur-Saône. Par téléphone 09 72 310 818 - Email: support@shpv.fr