Haute disponibilité pour Memorystore pour Redis

Cette page décrit la haute disponibilité (HA) pour les instances Memorystore pour Redis au niveau standard.

Le niveau standard protège les instances Redis des défaillances courantes en répliquant les données vers une ou plusieurs instances dupliquées et en offrant un basculement automatique rapide vers une instance dupliquée.

Une instance de niveau standard pour laquelle le paramètre readReplicaMode est désactivé contient une instance principale et une instance dupliquée qui fournit une fonctionnalité de haute disponibilité. Une instance de niveau standard pour laquelle ce paramètre est activé comporte une instance principale et une à cinq instances dupliquées avec accès en lecture. Dans cette configuration, les instances dupliquées avec accès en lecture effectuent des lectures et fournissent une assistance de basculement pour la fonctionnalité de haute disponibilité. Pour déterminer si le readReplicaModeparamètre est désactivé ou activé, consultez la section Afficher les informations sur l'instance dupliquée avec accès en lecture pour votre instance.

Memorystore pour Redis fournit la haute disponibilité en répliquant une instance principale vers une ou plusieurs instances dupliquées. Memorystore pour Redis utilise le protocole de réplication asynchrone pour copier toutes les modifications que vous apportez aux données de l'instance principale vers les instances dupliquées. En raison de la nature asynchrone de la réplication et en fonction du taux d'écriture de l'instance principale, les instances dupliquées peuvent être en retard par rapport à l'instance.

Si l'instance principale échoue, l'instance bascule automatiquement vers une instance dupliquée. Pour les instances comportant plusieurs instances dupliquées, l'instance bascule automatiquement vers une instance dupliquée saine avec le délai de réplication le plus faible.

Si vous configurez une instance pour qu'elle ne comporte qu'une seule instance dupliquée non lue, Memorystore pour Redis dirige toutes les connexions d'application vers le point de terminaison principal. Si vous configurez l'instance pour qu'elle utilise des instances dupliquées avec accès en lecture, les applications peuvent également utiliser le point de terminaison de lecture pour répartir les requêtes de lecture sur toutes les instances dupliquées.

Lorsqu'un basculement se produit

Un basculement se produit lorsque l'instance principale échoue. Lors d'un basculement, l'instance principale et le point de terminaison de lecture sont automatiquement redirigés vers la nouvelle instance principale et les nouvelles instances dupliquées. Memorystore pour Redis supprime toutes les connexions au point de terminaison principal. Memorystore pour Redis supprime également les connexions de point de terminaison de lecture à l'instance dupliquée avec accès en lecture qui est promue.

Impact d'un basculement sur votre application

Lorsque l'instance principale bascule vers l'instance dupliquée, Memorystore pour Redis supprime les connexions existantes au point de terminaison principal de l'instance. L'instance n'est pas disponible pendant 30 secondes en moyenne lors des réparations automatisées et pendant 15 secondes lors des événements de maintenance. Lors de la reconnexion, votre application est automatiquement redirigée vers la nouvelle instance principale à l'aide de la même chaîne de connexion ou de la même adresse IP. Vous n'avez pas besoin de mettre à jour votre application après un basculement.

Lors d'un basculement, si des connexions au point de terminaison avec accès en lecture sont établies, Memorystore pour Redis supprime les connexions à l'instance dupliquée promue en instance principale. Memorystore pour Redis continue de diffuser les connexions vers les autres instances dupliquées. Une fois le basculement terminé et la nouvelle instance dupliquée disponible, Memorystore pour Redis redirige les connexions vers la nouvelle instance dupliquée.

Réessayer la connexion à l'instance après un basculement

Lorsqu'un basculement se produit, Memorystore pour Redis supprime toutes les connexions du point de terminaison principal. En fonction du nombre d'instances dupliquées, Memorystore pour Redis peut également supprimer certaines connexions de lecture.

En raison de cette perte de connexion, votre application doit réessayer d'établir la connexion. Nous vous recommandons d'utiliser un intervalle exponentiel entre les tentatives pour la logique de nouvelle tentative afin de vous assurer de ne pas surcharger votre instance avec un trop grand nombre de requêtes de nouvelle tentative. Outre l'inclusion d'une logique de nouvelle tentative, nous vous recommandons de tester l'impact d'un basculement sur votre application en la testant avec un basculement manuel.

La plupart des clients Redis intègrent des fonctionnalités de nouvelle tentative. Si une perte de connexion se produit en raison d'un basculement, nous vous recommandons d'utiliser ces fonctionnalités de nouvelle tentative.

Un basculement se produit lorsque vous effectuez les tâches suivantes :

Si vous mettez en œuvre une logique de nouvelle tentative dans votre application pour gérer les pertes de connexion en raison de basculements, votre instance ne devrait probablement pas subir d'impact significatif sur les performances.

Afficher l'état de la haute disponibilité

Vous pouvez afficher les métriques de haute disponibilité de votre instance Redis à l'aide de Cloud Monitoring. Pour en savoir plus sur les métriques fournies par Cloud Monitoring pour Memorystore pour Redis, consultez les pages Surveiller des instances Redis et Métriques de surveillance compatibles pour Memorystore pour Redis.

Pour afficher l'état de réplication intégré fourni par Redis, utilisez la INFO commande.