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 in una o più repliche e fornendo un failover rapido e automatico a una replica.

Un'istanza di livello Standard con l'impostazione readReplicaMode disattivata contiene un'istanza primaria e una replica che fornisce la funzionalità di alta affidabilità. Un'istanza di livello Standard con questa impostazione abilitata ha un'istanza primaria 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à HA. Per determinare se l'impostazione readReplicaMode è disattivata o attivata, consulta 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 non di lettura, Memorystore for Redis indirizza tutte le connessioni dell'applicazione 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.

Persistenza dei dati e alta affidabilità

Sebbene il livello Standard fornisca alta affidabilità (HA) tramite la replica e il failover automatico, l'alta affidabilità non garantisce la durabilità completa dei dati. Memorystore for Redis non può garantire la durabilità completa dei dati anche con l'alta disponibilità abilitata durante alcuni eventi catastrofici, come errori regionali temporanei.

Per proteggere i tuoi dati e fornire un livello di persistenza di base, gli snapshot RDB sono abilitati per impostazione predefinita quando crei un'istanza Memorystore for Redis utilizzando la console Google Cloud .

Per i carichi di lavoro di produzione, prendi in considerazione le seguenti best practice per migliorare ulteriormente la resilienza dei dati:

  • Disaster recovery: Memorystore for Redis non supporta la replica tra regioni. Se la tua strategia di ripristino di emergenza richiede la replica tra regioni per una vera resilienza regionale, ti consigliamo di utilizzare un'istanza Memorystore for Valkey. Per ulteriori informazioni sulla configurazione e sulla gestione delle istanze secondarie tra regioni, consulta Utilizzare la replica tra regioni nella documentazione di Memorystore for Valkey.
  • Durabilità massima: se la tua applicazione richiede il livello più alto possibile di durabilità dei dati, ti consigliamo di utilizzare un'istanza Memorystore for Valkey configurata con la replica tra regioni, backup giornalieri automatici e persistenza Append-Only File (AOF). Questa combinazione offre la protezione più efficace contro la perdita di dati. Per saperne di più, consulta la Panoramica della persistenza nella documentazione di Memorystore for Valkey.

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 elimina 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. Una volta completato il failover e disponibile la nuova replica, Memorystore for Redis reindirizza le connessioni alla nuova replica.

Riprova a connetterti 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 della 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 eseguendo il test dell'applicazione 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 ripetizione.

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 affidabilità

Puoi visualizzare le metriche di alta affidabilità 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 di replica integrato fornito da Redis, utilizza il comando INFO.