Les clusters PolarDB basculent automatiquement du nœud principal vers un nœud en lecture seule en cas de défaillance du nœud principal. Pour des opérations de maintenance planifiée ou des tests de haute disponibilité, vous pouvez également déclencher manuellement un basculement en désignant un nœud en lecture seule spécifique comme nouveau nœud principal.
Avant de commencer
Le basculement interrompt le service de base de données. La durée de l'interruption dépend de l'activation de la veille active sur le nœud en lecture seule qui prend le relais :
| Veille active | Durée d'interruption |
|---|---|
| Désactivée | Environ 20 à 30 secondes |
| Activée | Entre 5 et 10 secondes |
Dans des cas extrêmes, la durée d'interruption peut dépasser les valeurs habituelles, sans toutefois excéder 3 minutes.
Pour réduire le temps d'interruption, activez la veille active sur vos nœuds en lecture seule. Consultez Configurer des nœuds réplicas en veille active.
Assurez-vous que votre application peut se reconnecter automatiquement au cluster après un basculement.
Fonctionnement du basculement automatique
PolarDB Cluster Edition repose sur une architecture de haute disponibilité actif-actif. En cas de défaillance du nœud principal, le système élit un nouveau nœud principal parmi les nœuds en lecture seule disponibles.
Chaque nœud d'un cluster possède une priorité de basculement. Lors d'une élection, le système suit les étapes ci-après :
Identifier tous les nœuds en lecture seule disponibles et éligibles à une promotion.
Sélectionner le nœud ayant la priorité de basculement la plus élevée. Les nœuds de même priorité ont une probabilité égale d'être élus.
Tenter de basculer vers le nœud sélectionné. Si cette tentative échoue en raison de problèmes réseau, d'un état de réplication anormal ou d'autres motifs, le système essaie le nœud éligible suivant jusqu'à la réussite du basculement.
Pour consulter et configurer la priorité de basculement de chaque nœud, accédez à la page Database Nodes du cluster et vérifiez la section Basic Information.

Effectuer un basculement manuel
Le basculement manuel s'avère utile pour tester la haute disponibilité du cluster ou promouvoir un nœud en lecture seule spécifique au rang de nœud principal.
Connectez-vous à la console PolarDB.
Dans le coin supérieur gauche, sélectionnez la région où le cluster est déployé.
Localisez le cluster et cliquez sur son ID.
Sur la page Basic Information, allez à la section Database Nodes et cliquez sur l'icône
située dans le coin supérieur droit pour changer de vue.-
Cliquez sur Fail Over.

Dans la boîte de dialogue, définissez le paramètre New Primary Node puis cliquez sur OK.
La durée d'interruption obéit aux mêmes règles que pour le basculement automatique. Reportez-vous à la section Avant de commencer pour plus de détails.
Préparer votre application au basculement
Après un basculement, les connexions persistantes entre votre application et le cluster peuvent ne pas détecter automatiquement le changement d'état de connexion. En l'absence de délai d'expiration configuré, votre application attend indéfiniment une réponse de la base de données. Cela conduit généralement à une déconnexion après plusieurs centaines de secondes, période durant laquelle les instructions SQL échouent.
Configurez les paramètres suivants afin de minimiser le temps de rétablissement :
| Paramètre | Valeur recommandée |
|---|---|
connectTimeout |
1 à 2 secondes (scénarios de transactions en ligne) |
socketTimeout |
10 à 15 secondes (réseau interne) ; 60 à 90 secondes (réseau public) |
Ces valeurs sont fournies à titre indicatif. Ajustez-les en fonction de votre charge de travail et de vos modèles d'utilisation.
Référence API
| Opération | Description |
|---|---|
| FailoverDBCluster | Exécute un basculement manuel en désignant un nœud en lecture seule comme nouveau nœud principal. |