Hochverfügbarkeit für Memorystore for Redis

Auf dieser Seite wird die Hochverfügbarkeit (High Availability, HA) für Memorystore for Redis-Instanzen der Standardstufe beschrieben.

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 einer primären Instanz und einem oder mehreren Replikaten bereitgestellt. Eine Instanz der Standardstufe, für die die Einstellung readReplicaMode deaktiviert ist, hat ein einzelnes Replikat ohne Lesevorgänge. Eine Instanz der Standardstufe, für die diese Einstellung aktiviert ist, hat ein bis fünf Lesereplikate. Informationen dazu, ob die Einstellung aktiviert ist, finden Sie unter Lesereplikatinformationen für Ihre Instanz ansehen.

Memorystore for Redis bietet hohe Verfügbarkeit durch Replizieren einer primären Instanz auf ein oder mehrere Replikate. Memorystore for Redis verwendet das Protokoll für asynchrone Replikation, um alle Änderungen, die Sie an den Daten in der primären Instanz vornehmen, in die Replikate zu kopieren. Da die Replikation asynchron ist, können Replikate je nach Schreibrate der primären Instanz hinter der Instanz zurückbleiben.

Wenn die primäre Instanz ausfällt, wird für die Instanz automatisch ein Failover auf ein Replikat durchgeführt. Bei Instanzen mit mehr als einem Replikat erfolgt ein Failover der Instanz automatisch auf ein fehlerfreies Replikat mit der geringsten Replikationsverzögerung.

Wenn Sie eine Instanz so konfigurieren, dass sie nur ein Nicht-Lesereplikat hat, leitet Memorystore for Redis alle Anwendungsverbindungen an den primären Endpunkt weiter. Wenn Sie die Instanz für die Verwendung von Lesereplikaten konfigurieren, können Anwendungen den Lese-Endpunkt auch verwenden, um Leseanfragen auf alle Replikate zu verteilen.

Wenn ein Failover auftritt

Ein Failover tritt auf, wenn die primäre Instanz ausfällt. Während eines Failovers werden die primäre Instanz und der Lese-Endpunkt automatisch zur neuen primären Instanz und zu den Replikaten umgeleitet. Memorystore for Redis trennt alle Verbindungen zum primären Endpunkt. Memorystore for Redis unterbricht auch Verbindungen vom Leseendpunkt zum hochgestuften Lesereplikat.

Auswirkungen eines Failovers auf Ihre Anwendung

Wenn die primäre Instanz ein Failover auf das Replikat durchführt, werden bestehende Verbindungen zum primären Endpunkt der Instanz von Memorystore for Redis unterbrochen. Während automatischer Reparaturen ist die Instanz durchschnittlich 30 Sekunden lang nicht verfügbar, bei Wartungsereignissen 15 Sekunden. Bei einer erneuten Verbindung wird Ihre Anwendung 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 eines Failovers Verbindungen zum Leseendpunkt vorhanden sind, werden die Verbindungen zum Replikat, das zur primären Instanz hochgestuft wird, von Memorystore for Redis unterbrochen. Memorystore for Redis stellt weiterhin Verbindungen zu den anderen Replikaten bereit. Nachdem der Failover abgeschlossen ist und das neue Replikat verfügbar ist, leitet Memorystore for Redis Verbindungen zum neuen Replikat weiter.

Instanzverbindung nach einem Failover noch einmal versuchen

Bei einem Failover werden alle Verbindungen vom primären Endpunkt durch Memorystore for Redis unterbrochen. Je nach Anzahl der Replikate werden in Memorystore for Redis möglicherweise auch einige Leseverbindungen unterbrochen.

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

Die meisten Redis-Clients haben integrierte Wiederholungsfunktionen. Wenn eine Verbindungsunterbrechung aufgrund eines Failovers auftritt, empfehlen wir, diese Wiederholungsfunktionen zu verwenden.

Ein Failover tritt auf, wenn Sie die folgenden Aufgaben ausführen:

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.

Status für hohe Verfügbarkeit aufrufen

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 überwachen und Unterstützte Monitoringmesswerte für Memorystore for Redis.

Verwenden Sie den Befehl INFO, um den von Redis bereitgestellten integrierten Replikationsstatus aufzurufen.