Informazioni sulla manutenzione

Questa pagina spiega come Memorystore for Valkey esegue la manutenzione delle istanze. Fornisce inoltre informazioni e consigli di configurazione di cui le applicazioni client devono essere a conoscenza per sfruttare la manutenzione senza tempi di inattività di Memorystore for 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, ti consigliamo vivamente di utilizzare la configurazione ad alta disponibilità.

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

La manutenzione in genere rientra nelle seguenti categorie:

  • Funzionalità di Memorystore. Per lanciare alcune funzionalità, Memorystore richiede un aggiornamento di manutenzione.
  • Patch del sistema operativo. Monitoriamo continuamente 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 fornisce 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 in Best practice per il client Valkey per assicurarti che la manutenzione pianificata non influisca sull'applicazione client. Le configurazioni client consigliate possono evitare i ripristini della connessione tramite aggiornamenti periodici della topologia in linea e rotazioni della connessione in background.
  2. Testa l'applicazione client con una serie di operazioni di aggiornamento (ad esempio fare lo scale in o verticale o modifiche al conteggio delle repliche) durante l'esecuzione di un carico di lavoro rappresentativo sui nodi primari e di replica e monitora l'impatto sul client. Questi aggiornamenti testano la logica di aggiornamento della topologia in linea sui client, l'impatto della sincronizzazione completa, l'individuazione 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 qualsiasi impatto negativo sulla tua applicazione.

Manutenzione pianificata

Memorystore for Valkey utilizza una strategia di ciclo di vita di implementazione graduale e creazione prima dell'eliminazione per evitare qualsiasi impatto dei tempi di inattività 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 Memorystore:

  1. Un failover coordinato senza alcuna perdita di dati.
  2. Una rimozione controllata dei nodi per consentire ai client di recuperare gli 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 saperne di più su questi endpoint, vedi Endpoint dell'istanza.

Il comportamento del servizio descritto nelle sezioni seguenti si applica solo alla manutenzione pianificata. Per saperne di più sull'impatto di eventi imprevisti come guasti hardware, consulta Comportamento del client durante un failover non pianificato.

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 (da lunedì a venerdì): dalle 22:00 alle 6:00
  • Finestra del fine settimana: da venerdì alle 22:00 a lunedì alle 6:00

Strategia di deployment graduale

Memorystore for Valkey esegue i deployment con un ambito in aumento progressivo e a una velocità che consente il rilevamento degli errori in tempo utile per mitigare qualsiasi impatto e stabilire la fiducia nella stabilità. I tempi di bake (il periodo di tempo durante il quale l'aggiornamento viene applicato e monitorato prima di essere considerato riuscito e di poter procedere avanti) sono integrati in tutta la flotta di istanze Memorystore alla scala del servizio. Inoltre, i tempi di cottura sono integrati nelle istanze tra le zone di una regione (più domini di errore) per ridurre l'ambito dell'impatto, se presente.

Per l'istanza configurata per l'alta affidabilità, al massimo Memorystore for Valkey aggiorna un dominio di errore o una zona alla volta per assicurarsi che uno shard dell'istanza, incluse le repliche primarie e secondarie, abbia un'alta affidabilità durante l'aggiornamento. Inoltre, Memorystore for Valkey aggiorna solo alcuni nodi alla volta. Gli aggiornamenti utilizzano un meccanismo del ciclo di vita di tipo crea prima di eliminare per massimizzare la stabilità di un'istanza. Questa strategia offre i maggiori vantaggi quando aggiorni un'istanza con molti shard. L'applicazione degli aggiornamenti a una piccola parte dello spazio delle chiavi utente complessivo in qualsiasi momento massimizza la disponibilità dei dati.

Strategia del ciclo di vita create-before-destroy

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

  1. Memorystore for Valkey aggiunge una nuova replica con l'ultimo aggiornamento software allo shard. Memorystore crea un nuovo nodo, anziché aggiornarne uno esistente, per garantire che la capacità di provisioning venga mantenuta in caso di errore di bootstrap imprevisto.
  2. Se un nodo all'interno dello shard da aggiornare è un nodo primario, questo 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 nell'istanza, Memorystore ripete questa procedura.

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

Passaggio 1: aggiungi una replica

Il primo passaggio del meccanismo di creazione prima dell'eliminazione consiste nell'aggiungere un nodo di replica con il software più recente utilizzando il meccanismo di sincronizzazione completa OSS Valkey per copiare i dati dal nodo primario al nodo di replica. A questo scopo, viene creato un processo figlio e viene sfruttata la replica senza disco per eseguire il bootstrap della replica. Memorystore for Valkey supporta la replica senza disco. A meno che tu non attivi la persistenza, Memorystore for Valkey non utilizza i dischi durante la replica.

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

Passaggio 2: esegui un failover primario coordinato

Se il nodo Valkey da aggiornare è un nodo primario, Memorystore esegue un failover coordinato al nodo di replica appena aggiunto. Poi, Memorystore rimuove il nodo. Durante il failover coordinato, il client e i nodi Valkey collaborano e utilizzano le seguenti strategie per evitare tempi di inattività per l'applicazione:

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

I failover coordinati in genere richiedono decine di millisecondi. Tuttavia, i dati in transito in attesa di essere scaricati nelle repliche e le dimensioni totali dell'istanza possono aumentare la latenza di failover. Le dimensioni dell'istanza possono influire sulla convergenza tra i nodi primari, il che influisce sul processo decisionale per l'elezione del nuovo nodo primario.

Passaggio 3: rimuovi la replica

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

Il nodo di 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 entrata al nodo primario del suo shard. Consente al client di terze parti di aggiornare la topologia dei nodi 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 riesce. In questo modo viene attivato un aggiornamento della topologia dei nodi sul client di connessione, in modo che venga a conoscenza della modifica della replica. I nuovi aggiornamenti della topologia dei nodi non visualizzano il nodo di 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 pianificazione della manutenzione, configura un periodo di manutenzione per la tua istanza.

Imposti le 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 in cui inizia la manutenzione

Il periodo di manutenzione dura un'ora. In alcuni casi, la manutenzione potrebbe prolungarsi oltre la finestra selezionata.

Dopo aver configurato un periodo di manutenzione per un'istanza, Memorystore for 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 Valkey aggiorna l'istanza in uno dei seguenti periodi, in base al fuso orario dell'istanza:

  • Finestra nei giorni feriali (dal lunedì al venerdì): dalle 22:00 alle 06:00
  • Finestra del fine settimana: da venerdì alle 22:00 a lunedì alle 6:00

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 for Valkey. Per garantire prestazioni ottimali durante la manutenzione, pianificala quando l'istanza registra un traffico minimo. In genere, ciò avviene intorno a mezzanotte di domenica.

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

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

Notifiche relative alla manutenzione prevista

Per assicurarti di rimanere informato sugli eventi di manutenzione della tua istanza, configura le notifiche email sulla manutenzione imminente almeno una settimana prima della manutenzione programmata. Queste notifiche hanno come oggetto "Upcoming maintenance for your Cloud Memorystore instance [your-instance-name]".

Memorystore for Valkey invia anche una notifica all'inizio della 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 for Valkey invia una notifica di completamento. L'oggetto dell'email è "Completed Maintenance for your Cloud Memorystore instance [your-instance-name]".

Se Memorystore for Valkey riprogramma la manutenzione, riceverai un'email che ti informa dell'annullamento della manutenzione. 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 di manutenzione:

  1. Imposta un periodo di manutenzione.
  2. Attiva le notifiche di 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 for Valkey invia notifiche all'indirizzo email associato al tuo Account Google. Non puoi configurare un alias email personalizzato (ad esempio, un alias email del team). Inoltre, non supportiamo l'invio di notifiche a un altro indirizzo email.

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 saperne di più su come trovare una manutenzione pianificata, vedi Trovare la manutenzione pianificata.

Ripianifica manutenzione

Questa sezione fornisce linee guida su come ripianificare la manutenzione. Ad esempio, se è previsto il lancio di un nuovo servizio durante il periodo di manutenzione corrente, potresti voler posticipare il periodo di manutenzione di alcuni giorni dopo il lancio.

Puoi ripianificare la manutenzione entro 14 giorni dall'orario originariamente pianificato. Nell'ambito della riprogrammazione della manutenzione, scegli una delle seguenti opzioni:

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

Quando riprogrammi la manutenzione, si applicano le seguenti limitazioni:

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

Per saperne di più sulla riprogrammazione della manutenzione, consulta Ripianificare 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 iscriverti alle notifiche e 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 avvisa della 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 rimandare la manutenzione?

Dopo aver pianificato la manutenzione per l'istanza, puoi avviare l'aggiornamento immediatamente o posticiparlo fino a due settimane dopo la data e l'ora di manutenzione originariamente pianificate.

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

Per saperne di più, consulta Ripianificare la manutenzione.

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

Per garantire 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 in un giorno e un orario in cui la tua istanza registra un traffico minimo (ad esempio, la domenica a mezzanotte).
  3. Attiva la ricezione di notifiche di manutenzione. Di conseguenza, Memorystore for Valkey ti invia una notifica via email almeno sette giorni prima che venga pianificato un aggiornamento di manutenzione per la tua istanza.
  4. Se non hai un'ora a basso impatto o senza impatto per l'utilizzo dell'applicazione, utilizza l'implementazione graduale predefinita del servizio. Questo valore predefinito contiene le best practice per gli aggiornamenti della manutenzione. Per saperne di più, consulta Manutenzione pianificata.

Quando puoi applicare immediatamente la manutenzione?

Puoi applicare immediatamente un aggiornamento di manutenzione a un'istanza di test per vedere l'impatto dell'aggiornamento sull'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 il giorno e l'ora attuali vanno bene per la tua istanza e prevedi un carico elevato sulla tua istanza 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. Memorystore for Valkey di solito completa l'aggiornamento entro la finestra, ma non sempre.

Puoi disattivare la manutenzione o programmarla prima su determinate istanze?

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

Passaggi successivi

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