Alta disponibilità per Memorystore for Redis

Questa pagina descrive l'alta affidabilità (HA) per le istanze Memorystore for Redis nel livello standard.

Il livello standard protegge un'istanza Redis da errori comuni replicando i dati su una o più repliche e fornendo un failover automatico e rapido a una replica.

Un'istanza di livello standard con l'impostazione readReplicaMode disattivata contiene un'istanza principale e una replica che fornisce funzionalità di alta disponibilità. Un'istanza di livello standard con questa impostazione abilitata ha un'istanza principale e da una a cinque repliche di lettura. Le repliche di lettura in questa configurazione eseguono letture e forniscono supporto per il failover per la funzionalità di alta disponibilità. Per determinare se l'impostazione readReplicaModeè disattivata o attivata, consulta Visualizzare le informazioni sulla replica di lettura per l'istanza.

Memorystore for Redis fornisce un'elevata affidabilità replicando un'istanza principale su una o più repliche. Memorystore for Redis utilizza il protocollo di replica asincrona per copiare le modifiche apportate ai dati sull'istanza principale nelle repliche. A causa della natura asincrona della replica e a seconda della velocità di scrittura dell'istanza principale, le repliche possono essere in ritardo rispetto all'istanza.

Se l'istanza principale non funziona, viene eseguito automaticamente il failover dell'istanza su una replica. Per le istanze con più di una replica, viene eseguito automaticamente il failover dell'istanza su una replica integra con il minor ritardo di replica.

Se configuri un'istanza in modo che abbia una sola replica non di lettura, Memorystore for Redis indirizza tutte le connessioni dell'applicazione all'endpoint principale. Se configuri l'istanza in modo che utilizzi le repliche di lettura, le applicazioni possono utilizzare anche l'endpoint di lettura per distribuire le query di lettura su tutte le repliche.

Quando si verifica un failover

Si verifica un failover quando l'istanza principale non funziona. Durante un failover, l'istanza principale e l'endpoint di lettura vengono reindirizzati automaticamente alla nuova istanza principale e alle repliche. Memorystore for Redis elimina tutte le connessioni all'endpoint principale. Memorystore for Redis elimina anche le connessioni dell'endpoint di lettura alla replica di lettura promossa.

In che modo un failover influisce sull'applicazione

Quando viene eseguito il failover dell'istanza principale sulla replica, Memorystore for Redis elimina le connessioni esistenti all'endpoint principale dell'istanza. L'istanza non è disponibile per una media di 30 secondi durante le riparazioni automatiche e 15 secondi per gli eventi di manutenzione. Al momento della riconnessione, l'applicazione viene reindirizzata automaticamente alla nuova istanza principale utilizzando la stessa stringa di connessione o lo stesso indirizzo IP. Non è necessario aggiornare l'applicazione dopo un failover.

Durante un failover, se sono presenti connessioni all'endpoint di lettura, Memorystore for Redis elimina le connessioni alla replica che viene promossa all'istanza principale. Memorystore for Redis continua a gestire le connessioni alle altre repliche. Al termine del failover e quando la nuova replica è disponibile, Memorystore for Redis reindirizza le connessioni alla nuova replica.

Riprova la connessione all'istanza dopo un failover

Quando si verifica un failover, Memorystore for Redis elimina tutte le connessioni dall'endpoint principale. A seconda del numero di repliche, Memorystore for Redis potrebbe eliminare anche alcune connessioni di lettura.

A causa di questa perdita di connessione, l'applicazione deve riprovare a ristabilire la connessione. Ti consigliamo di utilizzare il backoff esponenziale nella logica di ripetizione per assicurarti di non sovraccaricare l'istanza con troppe richieste di ripetizione. Oltre a includere la logica di ripetizione, ti consigliamo di testare l'impatto di un failover sull'applicazione testandola con un failover manuale.

La maggior parte dei client Redis ha funzionalità di ripetizione integrate. Se si verifica un'interruzione della connessione a causa di un failover, ti consigliamo di utilizzare queste funzionalità di ripetizione.

Si verifica un failover quando esegui le seguenti attività:

Se implementi la logica di ripetizione nell'applicazione per gestire le interruzioni della connessione dovute ai failover, è probabile che l'istanza non subisca un impatto significativo sulle prestazioni.

Visualizzare lo stato dell'alta affidabilità

Puoi visualizzare le metriche di alta affidabilità per l'istanza Redis utilizzando Cloud Monitoring. Per informazioni sulle metriche fornite da Cloud Monitoring per Memorystore for Redis, consulta Monitorare le istanze Redis e Metriche di monitoraggio supportate per Memorystore per Redis.

Per visualizzare lo stato di replica integrato fornito da Redis, utilizza il INFO comando.