Překvapuje mě nedostatečná odezva na toto, ale chápu, že toto téma se rozkládá na něčem jako stackoverflow a něco jako stack exchange. Také mě překvapuje nedostatek dokumentace, kterou jsem k tomuto tématu našel.
Provedl jsem několik rozsáhlých testů ve zkušebním prostředí a poté jsem přistoupil k výrobě a zdálo se, že postup, který jsem dodržel, z větší části fungoval:
-
Zdá se, že upgrade z 3.0.6 na 5.0.5 v našem případě funguje bez problémů. Jak jsem řekl v původním příspěvku, v redis používáme základy a z pohledu klienta se toho moc nezměnilo.
-
Pokračoval jsem v upgradu v tomto pořadí:
- První dva hlídači a poté hlídač, který je aktuálně v
leader
stav. - Každý z uzlů redis je uveden jako
slaves
(nyní známé jakoreplicas
).- Po upgradu bude každý uzel chtít zkopírovat svůj
dump.rdb
od mistra - Synchronizaci lze provést do 5 uzlu ze 3 uzlu, ale jakmile je 5 uzel hlavním, 3 uzel se nemůže synchronizovat, takže jakmile selžete na upgradovaný uzel, nemůžete se vrátit na dřívější verzi.
- Po upgradu bude každý uzel chtít zkopírovat svůj
- Nakonec použijte strážce k převzetí služeb při selhání do upgradovaného uzlu jako hlavní a upgradujte bývalého hlavního uzlu
- První dva hlídači a poté hlídač, který je aktuálně v
Doufejme, že to bude pro někoho užitečné.