Informazioni sulla manutenzione

Questa pagina spiega come Memorystore for Valkey esegue la manutenzione delle istanze. Fornisce inoltre informazioni e consigli di configurazione che le applicazioni client devono conoscere per sfruttare al meglio il design di manutenzione senza tempi di riposo di Memorystore per Valkey. Questi consigli si applicano sia alle istanze ad alta disponibilità sia a quelle senza repliche. Tuttavia, per tutti i casi d'uso di produzione, consigliamo vivamente di utilizzare la configurazione ad alta disponibilità.

Memorystore for Valkey aggiorna regolarmente le istanze per garantire che il servizio sia affidabile, performante, sicuro e aggiornato. Questi aggiornamenti sono chiamati manutenzione. La manutenzione è gestita completamente dal servizio ed è progettata per non avere alcun impatto sui tempi di inattività.

La manutenzione di solito rientra nelle seguenti categorie:

  • Funzionalità di Memorystore. Per lanciare alcune funzionalità, Memorystore richiede un aggiornamento di manutenzione.
  • Patch per il sistema operativo. Monitoriamo costantemente le vulnerabilità di sicurezza appena identificate nel sistema operativo. Una volta rilevata, applichiamo una patch al sistema operativo per proteggerti da nuovi rischi.
  • Patch del database. La manutenzione può includere un aggiornamento di Valkey per migliorare la sicurezza, le prestazioni e l'affidabilità di un'istanza. Questo va oltre ciò che offre OSS Valkey.

Configura l'applicazione client

Per configurare l'applicazione client in modo da ottenere le migliori prestazioni e disponibilità durante la manutenzione, segui questi passaggi:

  1. Utilizza e configura il client di terze parti in base alle indicazioni riportate nelle best practice per i client Valkey per assicurarti che la manutenzione pianificata non influisca sull'applicazione client. Le nostre configurazioni client consigliate possono evitare i reset delle connessioni tramite aggiornamenti periodici della topologia in linea e rotazioni delle connessioni in background.
  2. Testa l'applicazione client con una serie di operazioni di aggiornamento (ad esempio ridimensionamento o modifiche al numero di repliche) durante l'esecuzione di un carico di lavoro rappresentativo sui nodi principali e sulle repliche e monitora l'impatto sul client. Questi aggiornamenti testano la logica di aggiornamento della topologia in linea sui client, l'impatto della sincronizzazione completa, il rilevamento di nuovi nodi e la funzionalità di rimozione dei nodi esistenti. I test consentono di assicurarsi che il client di terze parti sia configurato correttamente per evitare ripercussioni negative sulla tua applicazione.

Manutenzione pianificata

Memorystore per Valkey sfrutta un deployment graduale e una strategia di ciclo di vita di creazione prima della distruzione per evitare qualsiasi impatto del tempo di riposo della manutenzione pianificata di Memorystore sulle tue istanze Valkey. Memorystore for Valkey esegue la manutenzione senza tempi di inattività utilizzando le funzionalità di reindirizzamento delle richieste del protocollo dell'istanza Valkey OSS con i seguenti meccanismi di Memorystore:

  1. Un failover coordinato senza perdita di dati.
  2. Una rimozione graduale dei nodi per consentire ai client di allinearsi agli aggiornamenti della topologia dei nodi senza alcun impatto sulla disponibilità.
  3. Gli endpoint Private Service Connect dell'istanza, che non sono interessati dalla manutenzione. Per ulteriori informazioni su questi endpoint, consulta Endpoint delle istanze.

Il comportamento del servizio descritto nelle sezioni seguenti si applica solo alla manutenzione programmata. Per ulteriori informazioni sull'impatto di eventi imprevisti come guasti hardware, consulta Comportamento del client durante un failover imprevisto.

Periodi di manutenzione predefiniti

Per impostazione predefinita, Memorystore aggiorna l'istanza nelle seguenti finestre in base al fuso orario dell'istanza:

  • Finestra dei giorni feriali (dal lunedì al venerdì): dalle 22:00 alle 06:00
  • Finestra del fine settimana: dalle 22:00 di venerdì alle 06:00 di lunedì

Strategia di implementazione graduale

Memorystore per Valkey esegue i deployment con un ambito in aumento progressivo e a una velocità che consente il rilevamento degli errori in tempo sufficiente per mitigare qualsiasi impatto e stabilire la stabilità. I tempi di applicazione (il tempo durante il quale l'aggiornamento viene applicato e monitorato prima di considerarlo riuscito e procedere) sono integrati nell'intero parco di istanze di Memorystore a livello di servizio. Inoltre, i tempi di compilazione vengono integrati nelle istanze tra le zone di una regione (più domini di errore) per ridurre l'eventuale ambito dell'impatto.

Per l'istanza configurata per l'alta disponibilità, Memorystore for Valkey aggiorna al massimo un dominio di errore o una zona in qualsiasi momento per garantire che uno shard dell'istanza, incluse le repliche principali, abbia un'alta disponibilità durante l'aggiornamento. Inoltre, Memorystore for Valkey aggiorna solo alcuni nodi alla volta. Gli aggiornamenti utilizzano un meccanismo di ciclo di vita di creazione prima della distruzione per massimizzare la stabilità di un'istanza. Questa strategia offre i maggiori vantaggi quando viene aggiornata un'istanza con molti frammenti. L'applicazione degli aggiornamenti solo a una piccola parte dello spazio chiavi degli utenti in qualsiasi momento massimizza la disponibilità dei dati.

Strategia di ciclo di vita Crea prima di eliminare

Un'istanza Valkey ha più shard. Ogni shard ha un nodo principale e zero o più nodi replica. Memorystore utilizza la seguente procedura per aggiornare qualsiasi nodo Valkey principale o replica esistente in uno shard:

  1. Memorystore per Valkey aggiunge una nuova replica con l'aggiornamento software più recente allo shard. Memorystore crea un nuovo nodo anziché aggiornarne uno esistente per garantire che la capacità di cui è stato eseguito il provisioning venga mantenuta in caso di errore di bootstrap imprevisto.
  2. Se un nodo all'interno dello shard da aggiornare è un nodo principale, viene prima convertito in una replica prima di essere rimosso utilizzando un failover coordinato.
  3. Memorystore rimuove la replica che utilizza il software precedente.
  4. Per ogni nodo dell'istanza, Memorystore ripete questa procedura.

La strategia Crea prima di eliminare consente di mantenere la capacità di provisioning dell'istanza, rispetto a un tipico deployment incrementale che esegue l'aggiornamento in situ, ma comporta un'interruzione della disponibilità (e a volte la perdita di dati) per l'applicazione client. Per gli shard senza repliche, Memorystore per Valkey esegue comunque prima il provisioning di una nuova replica, coordina il failover e infine sostituisce il nodo principale esistente dello shard.

Passaggio 1: aggiungi una replica

Il primo passaggio del meccanismo Crea prima di eliminare consiste nell'aggiungere un nodo replica con il software più recente utilizzando il meccanismo Valkey OSS di sincronizzazione completa per copiare i dati dal nodo principale al nodo replica. Ciò viene fatto eseguendo il fork di un processo secondario e sfruttando la replica senza disco per avviare la replica.

Per sfruttare al meglio l'architettura di scalabilità orizzontale dell'istanza, esegui il provisioning di un numero maggiore di shard per ridurre le dimensioni dello spazio chiavi all'interno di un nodo. Avere un set di dati più piccolo per nodo contribuisce a ridurre l'impatto della latenza del fork di un'operazione di sincronizzazione completa. Inoltre, velocizza la copia dei dati tra i nodi.

Passaggio 2: esegui un failover principale coordinato

Se il nodo Valkey da aggiornare è un nodo principale, Memorystore esegue un failover coordinato sul nodo replica appena aggiunto. Memorystore rimuove il nodo. Durante il failover coordinato, il client e i nodi Valkey collaborano e utilizzano le seguenti strategie per evitare i tempi di riposo dell'applicazione:

  1. Le richieste in arrivo dei client vengono bloccate temporaneamente sul nodo principale, offrendo una finestra per garantire che la replica esistente sia sincronizzata al 100% con il nodo principale.
  2. La replica completa la procedura di elezione per assumere il ruolo principale.
  3. Il nodo principale precedente, ora un nodo replica, sblocca le richieste esistenti e le reindirizza al nuovo nodo principale utilizzando il protocollo dell'istanza Valkey OSS. Le nuove richieste inviate al nodo replica precedente continuano a essere reindirizzate al nuovo nodo principale.
  4. Il client compatibile con Valkey aggiorna la topologia in memoria. Impara l'indirizzo del nuovo endpoint principale e non richiede più i reindirizzamenti.

I failover coordinati richiedono in genere decine di millisecondi. Tuttavia, i dati in transito in attesa di essere sottoposti a flush nelle repliche e le dimensioni totali dell'istanza possono aumentare la latenza del failover. Le dimensioni dell'istanza possono influire sulla convergenza tra i nodi principali, il che influisce sulla decisione di eleggere il nuovo nodo principale.

Passaggio 3: rimuovi la replica

L'ultimo passaggio del meccanismo di creazione prima della distruzione consiste nel rimuovere il nodo replica sul software precedente. La rimozione improvvisa di un nodo avrebbe un impatto sulle applicazioni client perché i client memorizzano nella cache le informazioni sugli endpoint e la topologia dell'istanza. Memorystore per Valkey ha progettato la rimozione di una replica Valkey in modo che sia graduale per consentire alle applicazioni client di aggiornare la loro topologia prima di un arresto anomalo del nodo. La topologia è personalizzata per consentire ai client di conoscere la nuova replica, ma anche di dimenticare in anticipo quella da rimuovere.

Il nodo replica che esegue il software precedente viene mantenuto per un determinato periodo di svuotamento, in genere nell'ordine di minuti, durante il quale inizia a reindirizzare le richieste di lettura in arrivo al nodo principale del relativo shard. Consente al client di terze parti di aggiornare la topologia del nodo e di conoscere i nuovi endpoint delle repliche. Se il client tenta di raggiungere un nodo rimosso dopo il periodo di svuotamento, il tentativo non va a buon fine. Questo attiva un aggiornamento della topologia del nodo sul client in connessione in modo che venga a conoscenza della modifica della replica. I nuovi aggiornamenti della topologia del nodo non vedono il nodo replica da rimuovere.

Impostazioni di manutenzione

Memorystore for Valkey ti consente di personalizzare le pianificazioni della manutenzione in modo da allinearle alle esigenze della tua applicazione e ridurre al minimo le interruzioni. Per personalizzare una programmazione della manutenzione, configura un periodo di manutenzione per l'istanza.

Imposti finestre di manutenzione per ogni istanza Memorystore for Valkey e hai le seguenti opzioni di configurazione:

  • Giorno della settimana: il giorno in cui viene eseguita la manutenzione
  • Ora di inizio: l'ora di inizio della manutenzione

Il periodo di manutenzione dura un'ora. In alcuni casi, la manutenzione potrebbe estendersi oltre il periodo selezionato.

Dopo aver configurato un periodo di manutenzione per un'istanza, Memorystore per Valkey pianifica la manutenzione automatica in futuro in base alle preferenze impostate per i periodi di manutenzione.

Periodi di manutenzione predefiniti

Se non imposti un periodo di manutenzione, Memorystore for Redis aggiorna la tua istanza in una delle seguenti finestre, in base al fuso orario dell'istanza:

  • Periodo dei giorni feriali (dal lunedì al venerdì): dalle 22:00 alle 06:00
  • Finestra del fine settimana: dalle 22:00 di venerdì alle 06:00 di lunedì

Esempio di manutenzione

In qualità di sviluppatore che gestisce un servizio di carrello degli acquisti presso un rivenditore, supervisioni un ambiente di produzione che include un'istanza Memorystore per Valkey. Per garantire prestazioni ottimali durante la manutenzione, pianificala quando l'istanza registra un traffico minimo. Questo accade in genere intorno alla mezzanotte di domenica.

In questo caso, imposta il periodo di manutenzione dell'istanza di produzione sul giorno e sull'ora seguenti:

  • Giorno della settimana: domenica
  • Ora di inizio: 01:00

Notifiche relative alla manutenzione programmata

Per assicurarti di ricevere sempre informazioni sugli eventi di manutenzione della tua istanza, imposta le notifiche via email relative alla manutenzione imminente almeno una settimana prima della data programmata. Queste notifiche hanno l'oggetto "Upcoming maintenance for your Cloud Memorystore instance [your-instance-name]".

Memorystore for Valkey invia anche una notifica quando inizia la manutenzione per la tua istanza. L'oggetto dell'email è "Maintenance is undergoing for your Cloud Memorystore instance [your-instance-name]".

Al termine della manutenzione, Memorystore per Valkey invia una notifica di completamento. L'oggetto dell'email è "Completed Maintenance for your Cloud Memorystore instance [your-instance-name]".

Se Memorystore per Valkey riprogramma la manutenzione, riceverai un'email che ti informa della manutenzione annullata. L'oggetto di questa email è "Canceled maintenance for your Cloud Memorystore instance [your-instance-name]".

Per ricevere le notifiche di manutenzione, devi attivarle. Per registrarti per ricevere le notifiche relative alla manutenzione:

  1. Imposta un periodo di manutenzione.
  2. Attiva la ricezione delle notifiche relative alla manutenzione.

Per ricevere notifiche di manutenzione da Memorystore for Valkey, completa questi passaggi almeno una settimana prima dell'aggiornamento di manutenzione pianificato per la tua istanza. In caso contrario, Memorystore for Valkey non ha tempo sufficiente per informarti della manutenzione imminente.

Memorystore per Valkey invia notifiche all'indirizzo email associato al tuo Account Google. Non puoi configurare un alias email personalizzato (ad esempio un alias email di gruppo). Inoltre, non supportiamo l'invio di notifiche a un indirizzo email diverso.

Se ti abboni alle notifiche di manutenzione, ricevi avvisi per tutte le istanze Memorystore for Valkey per le quali è pianificata la manutenzione all'interno di un progetto Google Cloud. Per ogni istanza, ricevi una notifica separata.

Per ulteriori informazioni su come trovare una manutenzione pianificata, vedi Trovare una manutenzione pianificata.

Ripianifica manutenzione

Questa sezione fornisce linee guida su come riprogrammare la manutenzione. Ad esempio, se è pianificato il lancio di un nuovo servizio durante il periodo di manutenzione corrente, potresti posticipare il periodo di manutenzione fino a qualche giorno dopo il lancio.

Puoi riprogrammare la manutenzione entro 14 giorni dall'ora originariamente pianificata. Nell'ambito della manutenzione per la riprogrammazione, scegli una delle seguenti opzioni:

  • Aggiorna ora: anziché attendere il periodo di manutenzione pianificato, puoi applicare gli aggiornamenti all'istanza immediatamente
  • Giorno e ora personalizzati: scegli un'ora entro due settimane dall'ora di manutenzione pianificata inizialmente

Quando riprogrammi la manutenzione, si applicano le seguenti limitazioni:

  • Se manca meno di un'ora all'orario di manutenzione corrente, non puoi riprogrammare la manutenzione.
  • Dopo aver riprogrammato la manutenzione, Memorystore per Valkey ti invia una notifica via email che conferma l'annullamento della manutenzione precedente. Inoltre, riceverai una nuova notifica di manutenzione con la programmazione aggiornata.

Per ulteriori informazioni su come riprogrammare la manutenzione, vedi Riprogrammare la manutenzione.

Domande frequenti

Questa sezione contiene le domande frequenti sulla manutenzione di Memorystore for Valkey.

Come faccio a sapere quando è pianificata la manutenzione della mia istanza?

Per sapere quando è pianificata la manutenzione della tua istanza, ti consigliamo di registrarti alle notifiche e di configurare un periodo di manutenzione. Puoi anche controllare manualmente la tua istanza per vedere se il parametro maintenanceSchedule viene visualizzato nella risposta.

Quando Memorystore for Valkey ti invia una notifica relativa alla manutenzione imminente?

Se ti abboni alle notifiche di manutenzione e imposti un periodo di manutenzione, Memorystore for Valkey ti invia una notifica via email almeno una settimana prima di un evento di manutenzione.

Per quanto tempo puoi posticipare la manutenzione?

Dopo aver pianificato la manutenzione dell'istanza, puoi avviare immediatamente l'aggiornamento o posticiparlo fino a due settimane dalla data e dall'ora della manutenzione pianificata in origine.

Ad esempio, se pianifichi la manutenzione per l'11 ottobre alle 23:15, puoi posticiparla fino al 25 ottobre alle 23:15. Se non intervieni, la manutenzione viene eseguita nella data e nell'ora pianificate.

Per ulteriori informazioni, vedi Riprogrammare la manutenzione.

Quali best practice garantiscono un'esperienza di aggiornamento della manutenzione senza problemi?

Per un'esperienza di aggiornamento della manutenzione senza problemi, ti consigliamo di procedere come segue:

  1. Segui le istruzioni per configurare l'applicazione client.
  2. Imposta il periodo di manutenzione su un giorno e un orario in cui l'istanza registra un traffico minimo (ad esempio, la domenica a mezzanotte).
  3. Attiva la ricezione di notifiche relative alla manutenzione. Di conseguenza, Memorystore for Redis ti invia una notifica via email almeno sette giorni prima della pianificazione di un aggiornamento di manutenzione per la tua istanza.
  4. Se non hai un'ora con impatto ridotto o nullo per l'utilizzo dell'applicazione, utilizza l'impostazione predefinita del servizio per le implementazioni graduali. Questo valore predefinito contiene le best practice per gli aggiornamenti di manutenzione. Per ulteriori informazioni, consulta Manutenzione pianificata.

Quando puoi applicare la manutenzione immediatamente?

Puoi applicare immediatamente un aggiornamento di manutenzione a un'istanza di test per vedere l'impatto dell'aggiornamento sulla tua applicazione. Puoi osservare l'impatto di questo aggiornamento. Se si verificano problemi con l'aggiornamento, puoi posticipare la manutenzione delle istanze di produzione finché non li risolvi.

Se la data e l'ora correnti sono adatte alla tua istanza e prevedi un carico elevato in futuro, puoi eseguire l'aggiornamento di manutenzione immediatamente.

Gli aggiornamenti di manutenzione vengono sempre completati all'interno del periodo di manutenzione?

Memorystore for Valkey avvia un aggiornamento di manutenzione all'interno del periodo di manutenzione specificato. In genere, Memorystore per Valkey completa l'aggiornamento entro la finestra, ma non sempre.

Puoi disattivare la manutenzione o pianificarla in un secondo momento su alcune istanze?

Non puoi disattivare la manutenzione o controllarne l'ordine per le tue istanze. Tuttavia, dopo aver ricevuto la notifica della manutenzione iniziale, puoi riprogrammare la manutenzione per posticiparla fino a due settimane.

Passaggi successivi

  • Visualizza le autorizzazioni necessarie per gestire i periodi di manutenzione della tua istanza.