Redis
 sql >> Database >  >> NoSQL >> Redis

Best Practice per aggiornare Redis con Sentinels?

Sono sorpreso dalla mancanza di risposta a questo, ma capisco che l'argomento si trova a cavallo tra qualcosa come stackoverflow e qualcosa come lo scambio di stack. Sono anche sorpreso dalla mancanza di documentazione che sono riuscito a trovare sull'argomento.

Ho fatto alcuni test approfonditi in un ambiente di staging e poi sono passato alla nostra produzione e la procedura che ho seguito sembrava funzionare per la maggior parte:

  • L'aggiornamento da 3.0.6 a 5.0.5 nel nostro caso sembra funzionare senza intoppi. Come ho detto nel post originale, usiamo le basi in redis e non è cambiato molto dal punto di vista del cliente.

  • Sono andato avanti con l'aggiornamento in questo ordine:

    1. I primi due coetanei sentinella e poi la sentinella attualmente nel leader stato.
    2. Ciascuno dei nodi redis elencati come slaves (ora noto come replicas ).
      • Dopo che ogni nodo è stato aggiornato, vorrà copiare il suo dump.rdb dal maestro
      • Una sincronizzazione può essere eseguita su un nodo 5 da un nodo 3, ma una volta che un nodo 5 è il master, un nodo 3 non può sincronizzarsi, quindi una volta eseguito il failover su un nodo aggiornato, non puoi tornare indietro alla versione precedente.
    3. Infine, utilizza le sentinelle per eseguire il failover su un nodo aggiornato come master e aggiornare il precedente master

Speriamo che qualcuno possa trovarlo utile in futuro.