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 une instance 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.

Le niveau standard est provisionné avec une instance principale et une ou plusieurs instances répliquées. Une instance de niveau standard pour laquelle le paramètre readReplicaMode est désactivé possède une seule instance dupliquée non lue. Une instance de niveau standard pour laquelle ce paramètre est activé possède une à cinq instances dupliquées avec accès en lecture. Pour déterminer si le paramètre est activé, consultez 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 les modifications que vous apportez aux données de l'instance principale dans les instances répliquées. En raison de la nature asynchrone de la réplication et en fonction du taux d'écriture de l'instance principale, les instances répliquées peuvent accuser un retard par rapport à l'instance.

En cas de défaillance de l'instance principale, l'instance bascule automatiquement vers une instance répliquée. Pour les instances comportant plusieurs instances répliquées, l'instance bascule automatiquement vers une instance répliqué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 répliqué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 répliqué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 répliquées.

Lorsqu'un basculement se produit

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

Impact d'un basculement sur votre application

Lorsque l'instance principale bascule vers l'instance répliquée, Memorystore pour Redis interrompt 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 automatiques 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 répliquée promue en instance principale. Memorystore pour Redis continue de diffuser les connexions aux autres instances répliquées. Une fois le basculement terminé et la nouvelle instance répliquée disponible, Memorystore pour Redis redirige les connexions vers la nouvelle instance répliquée.

Nouvelle tentative de 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 avec accès en lecture.

En raison de cette perte de connexion, l'application doit effectuer une nouvelle tentative pour ré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 tentatives de requête. Outre la logique de répétition des tentatives, 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 répétition dans votre application pour gérer les pertes de connexion en raison de basculements, votre instance ne devrait 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 Surveiller des instances Redis et Métriques de surveillance compatibles pour Memorystore pour Redis.

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