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:
- Los primeros dos pares centinela y luego el centinela actualmente en el
leader
estado. - Cada uno de los nodos redis listados como
slaves
(ahora conocido comoreplicas
).- 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.
- Después de actualizar cada nodo, querrá copiar su
- Finalmente, use los centinelas para conmutar por error a un nodo actualizado como maestro y actualice el maestro anterior
- Los primeros dos pares centinela y luego el centinela actualmente en el
Esperemos que alguien pueda encontrar esto útil en el futuro.