上記の質問に対する最初のコメントの礼儀。
だから私はこれを次のように解決することができました。
- 指定されたオプションを使用したクライアントの上記の設定は適切です。ただし、
disconnectedBehavior
を設定する必要がありましたACCEPT_COMMANDS
へ 。これにより、フェイルオーバー中、クライアントは引き続きRedisを使用して操作を行うことができます。 - この継続的な操作の受け入れの結果、フェイルオーバーが新しいマスターを正常に選択した後にクライアントに到着する最初のREADまたはWRITEに対して、クリスターは新しいノードの新しいIPアドレスを正しく返します。今後、クライアントは、障害が発生したノードが保持しているスロットの新しいIPを認識します。
これは、読み取りまたは書き込みの次の試行で調整するための怠惰なアプローチです。しかし、それは機能し、私はそれで十分だと信じています。これを処理するためのより良い方法があるかどうかはわかりません。