Basculement et élection du leader (Patroni, Stolon)
Utilisez Patroni ou Stolon pour automatiser le basculement et configurez le quorum afin d’éviter les situations de double leader.
Basculement et élection du leader (Patroni, Stolon) est une leçon SQL Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage SQL Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours SQL Academy comprend 4 leçons au total.
Pourquoi automatiser le basculement ?
Un basculement manuel est lent et sujet aux erreurs. Les outils détectent la défaillance du serveur primaire et promeuvent un réplica sans intervention humaine.
Étapes du basculement
Voici ce qui doit se produire :
- Détecter que le serveur primaire est arrêté (contrôles d’état, consensus)
- Choisir le réplica possédant le WAL le plus récent
- Le promouvoir (pg_promote / pg_ctl promote)
- Reconfigurer les autres réplicas pour qu’ils suivent le nouveau serveur primaire
- Mettre à jour le routage des connexions de l’application
Risque de double primaire
En cas de partition du réseau, vous pourriez promouvoir un réplica alors que l’ancien serveur primaire est toujours actif. Deux serveurs primaires entraînent des écritures contradictoires et une corruption des données. Évitez cela avec un quorum.
Patroni
Démon Python qui utilise un DCS externe (magasin de configuration distribué), généralement etcd, Consul ou Zookeeper, pour l’élection du chef :
# patroni.yml
name: pg1
scope: my_cluster
etcd:
hosts: 10.0.0.10:2379,10.0.0.11:2379,10.0.0.12:2379
postgresql:
data_dir: /var/lib/postgresql/dataComment Patroni choisit le nouveau chef
Le démon Patroni de chaque nœud tente d’acquérir un verrou de chef dans etcd. Un seul peut le détenir : ce nœud devient le serveur primaire. Les autres le suivent.
Stolon
Alternative fondée sur Go. Elle utilise un modèle de consensus similaire, mais avec des caractéristiques opérationnelles différentes. Elle répartit les responsabilités entre les composants sentinelle, gardien et mandataire.
repmgr
Outil plus léger de 2ndQuadrant : moins d’automatisation, davantage de contrôle manuel. Il convient aux configurations de petite taille.
Basculement géré dans le cloud
RDS, Cloud SQL et Aurora gèrent le basculement pour vous. Vous échangez de la souplesse contre une exploitation plus simple.
Routage des connexions après un basculement
Les applications doivent connaître le nouveau serveur primaire. Options :
- Mise à jour du DNS (lente à cause de TTL)
- Adresse IP flottante gérée par l’outil de basculement
- Couche mandataire : HAProxy, pgbouncer avec un script, point de terminaison AWS RDS
Réplication synchrone et basculement
Un serveur de secours synchrone garantit l’absence de perte de données. Associez-le à un basculement automatisé pour obtenir le niveau de HA le plus élevé.
Quorum
Pour la réplication synchrone, configurez synchronous_standby_names avec un quorum : ANY 2 réplicas sur 3 doivent confirmer. Cela tolère un réplica lent ou défaillant sans bloquer les validations de transactions.
synchronous_standby_names = 'ANY 2 (replica1, replica2, replica3)'Relire ses propres écritures
Après un basculement ou en présence d’un retard de réplication, une application peut écrire sur le nouveau serveur primaire, puis lire immédiatement des données obsolètes sur un réplica. Acheminez soit les lectures qui suivent les écritures vers le serveur primaire, soit utilisez le suivi de pg_last_wal_replay_lsn.
Tester le basculement
Testez avant d’en avoir besoin. Arrêtez le serveur primaire dans l’environnement de préproduction chaque mois. Répétez la procédure opérationnelle. Le stress d’un vrai basculement est déjà suffisamment difficile : les surprises ne font qu’aggraver la situation.
Récapitulatif
Le basculement automatisé retire les interventions humaines d’un chemin critique.
- Patroni et Stolon pour les systèmes autogérés
- RDS et Cloud SQL pour les systèmes gérés
- Méfiez-vous du double primaire : utilisez un quorum
- Répétez régulièrement la procédure de basculement
Vérification rapide
Qu’est-ce qu’un scénario de double primaire dans le contexte de la réplication PostgreSQL ?
Questions Fréquemment Posées
La leçon « Basculement et élection du leader (Patroni, Stolon) » est-elle gratuite ?
Oui — le texte complet de « Basculement et élection du leader (Patroni, Stolon) » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours SQL Academy, passe à CoddyKit PRO. Le cours SQL Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Basculement et élection du leader (Patroni, Stolon) » ?
Utilisez Patroni ou Stolon pour automatiser le basculement et configurez le quorum afin d’éviter les situations de double leader. Tu pratiques SQL Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer SQL Academy ?
Aucune expérience préalable n'est requise. SQL Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Basculement et élection du leader (Patroni, Stolon) » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon SQL Academy ?
Oui. Chaque leçon SQL Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Réplication en continu et WAL
- Réplication logique pour le partitionnement horizontal
- Basculement et élection du leader (Patroni, Stolon)
- Répliques de lecture et routage des connexions