sql >> Base de Datos >  >> NoSQL >> Redis

¿Mejor práctica para actualizar Redis con Sentinels?

Estoy sorprendido por la falta de respuesta a esto, pero entiendo que el tema se extiende entre algo como stackoverflow y algo como stack exchange. También me sorprende la falta de documentación que pude encontrar sobre el tema.

Hice algunas pruebas exhaustivas en un entorno de ensayo y luego procedí a nuestra producción y el procedimiento que seguí pareció funcionar en su mayor parte:

  • La actualización de 3.0.6 a 5.0.5 en nuestro caso parece estar funcionando sin problemas. Como dije en la publicación original, usamos los conceptos básicos en redis y no ha cambiado mucho desde la perspectiva del cliente.

  • Seguí adelante con la actualización en este orden:

    1. Los primeros dos pares centinela y luego el centinela actualmente en el leader estado.
    2. Cada uno de los nodos redis listados como slaves (ahora conocido como replicas ).
      • Después de actualizar cada nodo, querrá copiar su dump.rdb del maestro
      • Se puede realizar una sincronización a un nodo 5 desde un nodo 3, pero una vez que un nodo 5 es el maestro, un nodo 3 no puede sincronizarse, por lo que una vez que haya realizado la conmutación por error a un nodo actualizado, no podrá regresar. a la versión anterior.
    3. Finalmente, use los centinelas para conmutar por error a un nodo actualizado como maestro y actualice el maestro anterior

Esperemos que alguien pueda encontrar esto útil en el futuro.