Alta disponibilità

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

Panoramica

Il livello standard protegge le istanze Redis dai guasti comuni replicando i dati in una o più repliche e fornendo un failover automatico rapido a una replica.

Viene eseguito il provisioning del livello Standard con un nodo primario e uno o più nodi di replica. Un'istanza di livello Standard con readReplicaMode disabilitato ha una singola replica non di lettura. Un'istanza di livello Standard con readReplicaMode abilitato ha da 1 a 5 repliche di lettura. Per determinare se readReplicaMode è abilitato, consulta Visualizzazione delle informazioni sulla replica di lettura.

Memorystore per Redis offre un'alta disponibilità replicando un nodo Redis principale su uno o più nodi di replica. Le modifiche apportate ai dati sul nodo primario vengono copiate nella replica utilizzando il protocollo di replica asincrona di Redis. A causa della natura asincrona della replica, una replica può subire ritardi rispetto al nodo primario a seconda della frequenza di scrittura di quella principale.

In caso di errore dell'istanza principale, l'istanza esegue il failover automatico in una replica. Per le istanze configurate con più di una replica, l'istanza esegue automaticamente il failover con una replica con tempo di replica minimo integro.

Se un'istanza è configurata con una sola replica non letta, tutte le connessioni all'applicazione vengono indirizzate all'endpoint principale. Se un'istanza è configurata utilizzando repliche di lettura, le applicazioni possono anche utilizzare l'endpoint di lettura per distribuire le query di lettura tra tutte le repliche.

Quando viene attivato un failover

Un failover si verifica quando il nodo Redis principale non funziona. Durante un failover, l'endpoint principale e di lettura reindirizzano automaticamente alle nuove repliche principali e di replica. Tutte le connessioni all'endpoint principale vengono interrotte e anche le connessioni all'endpoint di lettura alla replica di lettura promossa.

In che modo il failover influisce sull'applicazione

Quando si esegue il failover del nodo primario nella replica, le connessioni esistenti all'endpoint principale dell'istanza vengono interrotte. L'istanza non è disponibile per alcuni secondi mentre la nuova istanza principale si riconnette. Al momento della riconnessione, l'applicazione viene reindirizzata automaticamente al nuovo nodo primario utilizzando la stessa stringa di connessione o lo stesso indirizzo IP. Non è necessario aggiornare l'applicazione dopo il failover.

Durante il failover, se sono presenti connessioni all'endpoint di lettura, le connessioni alla replica promossa in principale vengono interrotte. Le connessioni alle altre repliche continuano a essere fornite durante il failover. Una volta completato il failover e disponibile la nuova replica, le connessioni vengono reindirizzate alla nuova replica.

Nuovo tentativo di connessione dell'istanza dopo il failover

Quando si verifica un failover, tutte le connessioni dall'endpoint principale vengono eliminate e, a seconda del numero di repliche, alcune connessioni di lettura vengono terminate.

A causa di questa perdita di connessione, l'applicazione deve riprovare per ristabilire la connessione. La logica per i nuovi tentativi deve utilizzare il backoff esponenziale per garantire che non sovraccarichi l'istanza con troppe richieste. Oltre a utilizzare la logica per i nuovi tentativi, ti consigliamo di verificare l'impatto di un failover sulla tua applicazione eseguendo un test con un failover manuale.

La maggior parte dei client Redis è dotata di funzionalità di ripetizione integrate che dovresti sfruttare in caso di calo della connessione a causa del failover.

Un failover si verifica nei seguenti scenari:

Se implementi la logica per i nuovi tentativi nell'applicazione per gestire i problemi di interruzione della connessione dovuti ai failover, l'istanza non dovrebbe avere un impatto significativo sulle prestazioni. In genere, i problemi sorgono solo in seguito alla mancata applicazione della logica per i nuovi tentativi.

Come visualizzare lo stato dell'alta disponibilità

Puoi visualizzare le metriche di disponibilità elevata per la tua istanza Redis utilizzando Cloud Monitoring. Per informazioni sulle metriche fornite da Cloud Monitoring per Memorystore for Redis, consulta Monitoraggio delle istanze Redis e Monitoraggio delle metriche.

Per ulteriori informazioni sull'utilizzo della suite operativa di Google Cloud con Google Cloud, consulta la documentazione di Cloud Monitoring.

Per visualizzare lo stato della replica nativa fornita da Redis, puoi inviare il comando INFO Redis all'istanza di Memorystore for Redis.