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 il design di manutenzione senza tempi di inattività di Memorystore for Valkey. Questi consigli si applicano sia alle istanze ad alta disponibilità sia alle istanze 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 avere alcun impatto sui tempi di inattività.

In genere, la manutenzione 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 rilevate, applichiamo patch al sistema operativo per proteggerti da nuovi rischi.
  • Patch del database. La manutenzione può includere un aggiornamento di Valkey per migliorare la sicurezza, il rendimento e l'affidabilità di un'istanza. Questo va oltre ciò che fornisce OSS Valkey.

Configurare l'applicazione client

Per configurare l'applicazione client per ottenere il massimo rendimento e la massima disponibilità durante la manutenzione, segui questi passaggi:

  1. Utilizza e configura il client di terze parti seguendo le 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 delle connessioni in background.
  2. Testa l'applicazione client con una serie di operazioni di aggiornamento (ad esempio, fare lo scale in o verticale o modifiche del numero di 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, il rilevamento di nuovi nodi e la funzionalità di rimozione dei nodi esistenti. I test consentono di assicurarti che il client di terze parti sia configurato correttamente per evitare qualsiasi impatto negativo sull'applicazione.

Manutenzione pianificata

Memorystore for Valkey utilizza una strategia del ciclo di vita con deployment graduale e creazione prima dell'eliminazione per evitare qualsiasi impatto sui tempi di inattività della manutenzione pianificata di Memorystore sulle istanze Valkey. Memorystore for Valkey esegue la manutenzione senza tempi di inattività utilizzando le funzionalità di reindirizzamento delle richieste del protocollo dell'istanza OSS Valkey 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 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, consulta 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 non pianificati 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 (dal lunedì al venerdì): dalle 22:00 alle 06:00
  • Finestra del fine settimana: dal venerdì alle 22:00 al lunedì alle 06:00

Strategia di deployment graduale

Memorystore for Valkey esegue i deployment con un ambito in aumento progressivo e a una velocità che consente di rilevare gli errori abbastanza presto da mitigarne l'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 procedere) sono integrati in tutto il parco risorse di istanze Memorystore alla scala del servizio. Inoltre, i tempi di bake 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à, Memorystore for Valkey aggiorna al massimo un dominio di errore o una zona alla volta per assicurarsi che uno shard dell'istanza, inclusi i nodi primari e di replica, 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 creazione prima dell'eliminazione per massimizzare la stabilità di un'istanza. Questa strategia offre i maggiori vantaggi quando si aggiorna un'istanza con molti shard. L'applicazione degli aggiornamenti solo a una piccola parte dello spazio delle chiavi utente complessivo alla volta massimizza la disponibilità dei dati.

Strategia del ciclo di vita di creazione prima dell'eliminazione

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 un nuovo nodo di replica con l'ultimo aggiornamento software allo shard. Memorystore crea un nuovo nodo, anziché aggiornarne uno esistente, per garantire che la capacità di cui hai eseguito il 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 un nodo di replica prima di essere rimosso utilizzando un failover coordinato.
  3. Memorystore rimuove la replica che utilizza il software precedente.
  4. Memorystore ripete questa procedura per ogni nodo dell'istanza.

La strategia di creazione prima dell'eliminazione consente di mantenere la capacità di cui è stato eseguito il provisioning dell'istanza, rispetto a un deployment in sequenza tipico che esegue l'aggiornamento in loco, ma comporta un'interruzione della disponibilità (e talvolta 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 l'ultimo software utilizzando il meccanismo OSS Valkey di sincronizzazione completa per copiare i dati dal nodo primario al nodo di replica. Questa operazione viene eseguita creando un processo figlio e sfruttando 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 che deve essere aggiornato è 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 assicurarsi che la replica esistente sia sincronizzata al 100% con il nodo primario.
  2. La replica completa la procedura di elezione per assumere il ruolo primario.
  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 primario.
  4. Il client compatibile con Valkey aggiorna la topologia in memoria. Apprende l'indirizzo del nuovo endpoint primario e non richiede più reindirizzamenti.

In genere, i failover coordinati 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. Una rimozione improvvisa dei nodi avrebbe un impatto sulle applicazioni client perché i client memorizzano nella cache le informazioni sugli endpoint e la topologia dell'istanza. Memorystore for Valkey ha progettato la rimozione di una replica Valkey in modo graduale 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 di replica. Se il client tenta di raggiungere un nodo rimosso dopo il periodo di svuotamento, il tentativo non riesce. 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 vedono il nodo di replica da rimuovere.

Impostazioni di manutenzione

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

Imposti i periodi 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 estendersi oltre il periodo selezionato.

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 una delle 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: dal venerdì alle 22:00 al lunedì alle 06: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 un rendimento ottimale durante la manutenzione, la pianifichi quando l'istanza registra un traffico minimo. In genere, questo si verifica intorno a 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 imminente

Per assicurarti di rimanere informato sugli eventi di manutenzione della tua istanza, configura le notifiche via email relative alla manutenzione imminente almeno una settimana prima della manutenzione pianificata. 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 dell'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 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 attivare l'opzione. Per registrarti per ricevere le notifiche di manutenzione:

  1. Imposta un periodo di manutenzione.
  2. Attiva l'opzione per ricevere le notifiche di manutenzione.

Per ricevere le notifiche di manutenzione da Memorystore for Valkey, completa questi passaggi almeno una settimana prima dell'aggiornamento di manutenzione pianificato per l'istanza. In caso contrario, Memorystore for Valkey non avrà 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 di gruppo). Inoltre, non supportiamo l'invio di notifiche a un indirizzo email diverso.

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

Per saperne di più su come trovare una manutenzione pianificata, consulta Trovare la manutenzione pianificata.

Ripianificare manutenzione

Questa sezione fornisce indicazioni 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'ora pianificata originariamente. Nell'ambito della ripianificazione 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 14 giorni dall' ora di manutenzione pianificata originariamente.

Quando ripianifichi la manutenzione, si applicano le seguenti limitazioni:

  • Se manca meno di un'ora all'ora di manutenzione pianificata corrente, non puoi ripianificare la manutenzione.
  • Dopo aver ripianificato 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 ripianificazione 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 per la mia istanza?

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

Quando Memorystore for Valkey mi 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 posso posticipare la manutenzione?

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

Ad esempio, se pianifichi la manutenzione per l'11 ottobre alle 23:15, puoi posticiparla fino al 25 ottobre alle 23:15. Se non esegui alcuna azione, 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:

  1. Segui le istruzioni per configurare l'applicazione client.
  2. Imposta il periodo di manutenzione su un giorno e un'ora in cui l'istanza registra un traffico minimo (ad esempio, la domenica a mezzanotte).
  3. Attiva le notifiche di manutenzione. Di conseguenza, Memorystore for Valkey ti invia una notifica via email almeno sette giorni prima dell'aggiornamento di manutenzione pianificato per l'istanza.
  4. Se non hai un'ora di impatto ridotto o nullo per l'utilizzo dell'applicazione, utilizza l'impostazione predefinita del servizio per i rollout graduali. Questa impostazione predefinita contiene le best practice per gli aggiornamenti di manutenzione. Per saperne di più, consulta Manutenzione pianificata.

Quando consigliamo di applicare immediatamente un aggiornamento di 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 fino a quando non li risolvi.

Se il giorno e l'ora correnti sono adatti alla tua istanza e prevedi un carico elevato sull'istanza in futuro, puoi eseguire immediatamente l'aggiornamento di manutenzione.

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 for Valkey completa l'aggiornamento all'interno del periodo, ma non sempre.

Posso disattivare la manutenzione o pianificare la manutenzione prima su determinate istanze?

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

Passaggi successivi

  • Visualizza le autorizzazioni necessarie per gestire i periodi di manutenzione per l'istanza.