クバネティス(Kubernetes) 環境で Redis-Standalone 構築 実践ガイド ③


Failover(フェイルオーバー)テスト

🖧 1. Redis-Standalone ポッド(Pod) ダイアグラム(初期状態)

┌──────────────┐ │ Redis(220) │ │ 🟢Master │ └──────────────┘

1. Failover(フェイルオーバー)テスト

Redis-0 ポッド(Pod) をダウンさせます。レプリカはありません。
💥 ポッド(Pod) ダウン後に再起動すると IP が変わります。

Redis-0 💥 ダウン(delete)

💻 Terminal-1

💻 Redis-0 LOG

① 15秒 kill シグナルを受け Redis ダウン(+0秒)
② 18秒 Redis が自動再起動(+3秒)
③ 22秒 データロード完了(約5秒)(+7秒)
④ 22秒 Redis 準備完了(+7秒)

📄 redis.log

Redis-0 全ログ ▼
📄 redis.log

💻 App ログ

① 15秒 接続切断 -> 再接続失敗(+0秒)
② 19秒 5回再試行後に失敗エラー(+4秒)
③ 24秒 再接続 -> 失敗(+9秒)
④ 32秒 再接続 -> 成功(+17秒)
⑤ 32秒 データ投入成功(+17秒)

💻 Terminal-2

App 全ログ ▼
📄 App 全ログ

🧮 Failover(フェイルオーバー)後の状況

Redis-0 の IP が '10.42.0.220' から '10.42.0.222' に変わりました。

💻 Terminal-1

🖧 Redis-Cluster ポッド(Pod) ダイアグラム(Failover 後)

┌──────────────┐ │ Redis(222) │ │ 🟢Master │ └──────────────┘

🧑‍💻 結論

Redis-Standalone Failover(フェイルオーバー)テスト成功
ポッド(Pod) をダウンして再起動すると IP が変わります。 約17秒後に App が再接続に成功しデータを投入します。
約30秒(余裕を見て)ダウンしても大きな問題がないサービスなら Redis-Standalone を使ってみることもできます。


➡ ここまでは Redis-Standalone 単独でテストしました。
Java(Spring) App と接続して動くところまで見るには、ここをクリックしてください。



<< K8s Redis-Standalone ② K8s Redis Scale-Out >>

Email 返事がかかってなれば、メールでお知らせします。