Auf dieser Seite wird die hohe Verfü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 Knoten und einem oder mehreren Replikatknoten bereitgestellt. Eine Instanz der Standardstufe, für die readReplicaMode
deaktiviert ist, hat ein einzelnes Lesereplikat ohne Lesevorgänge. 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 hohe Verfügbarkeit durch Replizieren eines primären Redis-Knotens auf einen oder mehrere Replikatknoten. Änderungen an Daten auf dem primären Knoten werden mithilfe des asynchronen Redis-Replikationsprotokolls in das Replikat kopiert. Da die Replikation asynchron ist, kann ein Replikat je nach Schreibrate auf dem primären Knoten hinter dem primären Knoten 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 der primäre Redis-Knoten 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 ein Failover vom primären Knoten auf das Replikat erfolgt, werden bestehende Verbindungen zum primären Endpunkt der Instanz unterbrochen. Während die neue primäre Instanz neu verbunden wird, ist die Instanz für einige Sekunden nicht verfügbar. Beim Wiederherstellen der Verbindung wird die Anwendung automatisch mit demselben Verbindungsstring bzw. derselben IP-Adresse an den neuen primären Knoten 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:
- Instanz skalieren
- Redis-Version einer Instanz aktualisieren
- Manuellen Failover einleiten
- Wartungsupdates
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 zur Verwendung der Operations-Suite von Google Cloud mit Google Cloud 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.