Alta disponibilità per Memorystore for Redis

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

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

Il livello Standard viene sottoposto a provisioning con un'istanza primaria e una o più repliche. Un'istanza di livello standard con l'impostazione readReplicaMode disattivata ha una singola replica non di lettura. Un'istanza di livello standard con questa impostazione abilitata ha da una a cinque repliche di lettura. Per determinare se l'impostazione è abilitata, vedi Visualizzare le informazioni sulla replica di lettura per l'istanza.

Memorystore for Redis offre alta affidabilità replicando un'istanza principale in una o più repliche. Memorystore for Redis utilizza il protocollo di replica asincrona per copiare le modifiche apportate ai dati nell'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 su una replica. Per le istanze con più di una replica, il failover dell'istanza viene eseguito automaticamente su una replica integra con il ritardo di replica minimo.

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

Quando si verifica un failover

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

In che modo un failover influisce sulla tua applicazione

Quando l'istanza principale esegue il failover sulla replica, Memorystore for Redis interrompe 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 interrompe le connessioni alla replica che viene promossa a 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 interrompe tutte le connessioni dall'endpoint principale. A seconda del numero di repliche, Memorystore for Redis potrebbe anche eliminare 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'effetto di un failover sull'applicazione testandola con un failover manuale.

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

Si verifica un failover quando esegui le seguenti attività:

Se implementi la logica di ripetizione nell'applicazione per gestire le interruzioni della connessione a causa dei failover, è probabile che la tua istanza non riscontri un impatto significativo sulle prestazioni.

Visualizzare lo stato dell'alta disponibilità

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

Per visualizzare lo stato della replica integrata fornita da Redis, utilizza il comando INFO.