Dzięki uprzejmości pierwszego komentarza do powyższego pytania.
Więc udało mi się rozwiązać ten problem w następujący sposób.
- Powyższa konfiguracja dla klienta z podanymi opcjami jest dobra. Musiałem jednak ustawić
disconnectedBehavior
doACCEPT_COMMANDS
. Zapewniło to, że klient nadal będzie współpracował z Redis w zakresie operacji podczas przełączania awaryjnego. - W wyniku tego ciągłego akceptowania operacji, dla pierwszego ODCZYTU lub ZAPISU, który dotrze do klienta po pomyślnym wybraniu nowego urządzenia głównego przez przełączanie awaryjne, klaster poprawnie zwróci nowy adres IP nowego węzła. Odtąd klient wie, jaki jest nowy adres IP dla slotów posiadanych przez uszkodzony węzeł.
To leniwe podejście do pogodzenia się przy kolejnej próbie CZYTANIA lub NAPISANIA. Ale to działa i wierzę, że wystarczy. Nie jestem pewien, czy istnieją lepsze sposoby na poradzenie sobie z tym.