Hochverfügbarkeit für Memorystore for Redis

Auf dieser Seite wird die Hochverfügbarkeit für Memorystore for Redis-Instanzen der Standardstufe beschrieben.

Überblick

Die Standardstufe schützt Redis-Instanzen vor häufigen Fehlern. Dazu werden Daten auf ein oder mehrere Replikate repliziert und schnelle automatische Failover auf Replikate ermöglicht.

Die Standardstufe wird mit einem primären und einem oder mehreren Replikaten bereitgestellt. Eine Instanz der Standardstufe, für die readReplicaMode deaktiviert ist, hat ein einzelnes Nicht-Lesereplikat. Eine Instanz der Standardstufe, für die readReplicaMode aktiviert ist, hat ein bis fünf Lesereplikate. Informationen dazu, ob readReplicaMode aktiviert ist, finden Sie unter Lesereplikatinformationen ansehen.

Memorystore for Redis bietet Hochverfügbarkeit, indem eine primäre Redis-Instanz auf ein oder mehrere Replikate repliziert wird. Änderungen an den Daten auf der primären Instanz werden mithilfe des asynchronen Redis-Replikationsprotokolls in Replikate kopiert. Aufgrund der asynchronen Natur der Replikation können Replikate in Abhängigkeit von der Schreibrate auf der primären Instanz hinter der primären Instanz zurückbleiben.

Bei einem Ausfall der primären Instanz wird für die Instanz automatisch ein Failover auf ein Replikat durchgeführt. Bei Instanzen, die mit mehr als einem Replikat konfiguriert sind, erfolgt ein Failover der Instanz automatisch auf ein Replikat mit der geringsten fehlerfreien Replikationsverzögerung.

Wenn eine Instanz nur mit einem Lesereplikat konfiguriert wird, werden alle Anwendungsverbindungen an den primären Endpunkt weitergeleitet. Wenn eine Instanz mit Lesereplikaten konfiguriert wird, können Anwendungen den Lese-Endpunkt auch verwenden, um Lese-Abfragen auf alle Replikate zu verteilen.

Auslösen eines Failovers

Ein Failover tritt auf, wenn die primäre Redis-Instanz ausfällt. Während eines Failovers werden der primäre Knoten und der Lese-Endpunkt automatisch zum neuen primären Knoten und zu den Replikaten umgeleitet. Alle Verbindungen zum primären Endpunkt werden unterbrochen und Verbindungen vom Lese-Endpunkt zum hochgestuften Lesereplikat werden ebenfalls unterbrochen.

Auswirkungen eines Failovers auf Ihre Anwendung

Wenn der primäre Endpunkt einen Failover auf das Replikat durchführt, werden alle vorhandenen Verbindungen zum primären Endpunkt der Instanz getrennt. Während die neue primäre Instanz neu verbunden wird, ist die Instanz für einige Sekunden nicht verfügbar. Wenn die Anwendung die Verbindung wiederhergestellt hat, wird sie automatisch mit demselben Verbindungsstring oder derselben IP-Adresse an die neue primäre Instanz weitergeleitet. Sie müssen die Anwendung nach einem Failover nicht aktualisieren.

Wenn während des Failovers Verbindungen zum Leseendpunkt vorhanden sind, werden die Verbindungen zum Replikat, das zur primären Instanz hochgestuft wird, unterbrochen. Die Verbindungen zu den anderen Replikaten werden während des Failovers weiterhin bereitgestellt. Sobald der Failover abgeschlossen ist und das neue Replikat verfügbar ist, werden Verbindungen zum neuen Replikat weitergeleitet.

Instanzverbindung nach Failover noch einmal versuchen

Bei einem Failover werden alle Verbindungen vom primären Endpunkt unterbrochen. Je nach Anzahl der Replikate werden einige Leseverbindungen beendet.

Aufgrund dieses Verbindungsverlusts muss Ihre Anwendung den Vorgang wiederholen, um die Verbindung wiederherzustellen. Die Wiederholungslogik sollte einen exponentiellen Backoff verwenden, damit Ihre Instanz nicht mit zu vielen Wiederholungsanfragen überlastet wird. Zusätzlich zu einer Wiederholungslogik sollten Sie testen, wie sich ein Failover auf Ihre Anwendung auswirkt, indem Sie sie mit einem manuellen Failover testen.

Die meisten Redis-Clients haben integrierte Wiederholungsfunktionen, die Sie im Falle einer Verbindungstrennung nutzen können.

Ein Failover tritt in den folgenden Szenarien auf:

Wenn Sie eine Wiederholungslogik in Ihre Anwendung implementieren, um Verbindungsunterbrechungen aufgrund von Failovers zu bewältigen, ist die Leistung der Instanz in der Regel nicht signifikant beeinträchtigt. Normalerweise treten Probleme nur auf, wenn keine Wiederholungslogik vorhanden ist.

So rufen Sie den Status für hohe Verfügbarkeit auf

Mit Cloud Monitoring können Sie Hochverfügbarkeitsmesswerte für Ihre Redis-Instanz aufrufen. Informationen zu den Messwerten, die Cloud Monitoring für Memorystore for Redis bereitstellt, finden Sie unter Redis-Instanzen und Monitoringmesswerte.

Weitere Informationen finden Sie in der Cloud Monitoring-Dokumentation.

Zum Aufrufen des von Redis bereitgestellten Replikationsstatus geben Sie den Befehl "Redis INFO" an die Memorystore for Redis-Instanz aus.