Questa pagina spiega in che modo l'architettura Cluster di Memorystore for Valkey supporta e fornisce l'alta disponibilità. Questa pagina spiega anche le configurazioni consigliate che contribuiscono per migliorare le prestazioni e la stabilità dell'istanza.
Alta disponibilità
Memorystore for Valkey è basato su un'architettura a disponibilità elevata in cui i clienti accedono direttamente alle VM Memorystore for Valkey gestite. Per farlo, i clienti devono connettersi a una singola rete shard come descritto in Connettersi a un'istanza Memorystore for Valkey.
La connessione diretta ai frammenti offre i seguenti vantaggi:
La connessione diretta evita qualsiasi single point of failure, poiché ogni shard è progettato per causare errori in modo indipendente. Ad esempio, se il traffico di più client sovraccarica uno slot (chunk dello spazio chiavi), l'errore dello shard limita l'impatto allo shard responsabile del servizio dello slot.
La connessione diretta evita i hop intermedi, il che riduce al minimo il tempo di round trip (latenza del client) tra il client e la VM Valkey.
Configurazioni consigliate
Ti consigliamo di creare istanze multizona a disponibilità elevata anziché istanze a zona singola per via della maggiore affidabilità che offrono. Tuttavia, se scegli di eseguire il provisioning di un'istanza senza repliche, ti consigliamo di scegliere un'istanza a zona singola. Per ulteriori informazioni, consulta Scegliere un'istanza a zona singola se l'istanza non utilizza repliche.
Per attivare l'alta disponibilità per l'istanza, devi eseguire il provisioning di almeno un nodo replica per ogni shard. Puoi eseguire questa operazione durante la creazione dell'istanza oppure scalare il conteggio delle repliche fino ad almeno 1 replica per shard. Le repliche offrono un Failover automatico durante la manutenzione pianificata e errori di shard imprevisti.
Devi configurare il client in base alle indicazioni riportate nelle best practice per i client. L'utilizzo delle best practice consigliate consente al cliente di gestire automaticamente e in modo corretto il ruolo (failover automatici) e le modifiche all'assegnazione degli slot (sostituzione dei nodi, scalabilità in/out dei consumatori) per l'istanza senza tempi di riposo.
Repliche
Un'istanza Memorystore for Valkey ad alta disponibilità è una risorsa regionale. Ciò significa che le VM primarie e di replica di shard sono distribuite in più zone per far fronte a eventuali interruzioni a livello di zona. Memorystore for Valkey supporta istanze con 0, 1 o 2 repliche per nodo.
Puoi utilizzare le repliche per aumentare il throughput di lettura scalando le letture.
Per farlo, devi utilizzare il comando READONLY
per stabilire una connessione
che consente al client di leggere dalle repliche.
Forma dell'istanza con 0 repliche per nodo
Forma dell'istanza con 1 replica per nodo
Forma dell'istanza con 2 repliche per nodo
Failover automatico
I failover automatici all'interno di uno shard possono verificarsi a causa di manutenzione o di un errore imprevisto del nodo principale. Durante un failover, una replica viene promossa a principale. Puoi configurare le repliche in modo esplicito. Il servizio può anche eseguire il provisioning temporaneo di repliche aggiuntive durante la manutenzione interna per evitare tempi di riposo.
I failover automatici impediscono la perdita di dati durante gli aggiornamenti di manutenzione. Per informazioni dettagliate sul comportamento del failover automatico durante la manutenzione, vedi Comportamento del failover automatico durante la manutenzione.
Durata failover e riparazione dei nodi
I failover automatici possono richiedere tempo nell'ordine delle decine di secondi per eventi non pianificati, come un arresto anomalo del processo del nodo primario o un guasto hardware. Durante questo periodo, il sistema rileva l'errore e elegge una replica come nuova principale.
La riparazione del nodo può richiedere del tempo, nell'ordine di alcuni minuti, per consentire al servizio di sostituire il nodo in cui si è verificato l'errore. Questo vale per tutti i nodi principali e di replica. Per le istanze che non sono a disponibilità elevata (nessuna replica di cui è stato eseguito il provisioning), la riparazione di un nodo principale in stato di errore richiede anche del tempo, nell'ordine di alcuni minuti.
Comportamento del client durante un failover imprevisto
È probabile che le connessioni dei client vengano reimpostate a seconda della natura dell'errore. Dopo il recupero automatico, le connessioni devono essere riprovate con il backoff esponenziale per evitare il sovraccarico dei nodi principali e delle repliche.
I client che utilizzano le repliche per il throughput di lettura devono essere preparati a un degrado temporaneo della capacità fino alla sostituzione automatica del nodo in cui si è verificato l'errore.
Scritture perse
Durante un failover derivante da un errore imprevisto, le scritture confermate potrebbero essere perse a causa della natura asincrona del protocollo di replica di Valkey.
Le applicazioni client possono utilizzare il comando Valkey WAIT per migliorare la sicurezza dei dati reali.