【ふぉーるばっく】

フォールバック とは?

💡 本命がダメでも大丈夫、控えの出番がフォールバック
📌 このページのポイント
フォールバックの仕組み リクエスト ユーザー メインサーバー ✕ 障害発生 応答なし 自動切り替え フォールバック先 ✓ 正常稼働 代替サーバー 応答 成功 メインが使えないとき、自動で代替手段に切り替える仕組み サービスの可用性を高める重要な設計パターン 主系統の障害時に自動で予備系統へ切り替える安全機構
フォールバックのイメージ
ひよこ ひよこ

フォールバックって、失敗したときの『プランB』みたいなもの?

ペンギン先生 ペンギン先生

そのとおり!たとえば外部APIからデータを取得する処理があるとして、APIが落ちてたらどうする?フォールバックとして、前回取得したキャッシュデータを代わりに返すんだよ。

ひよこ ひよこ

なるほど。完璧じゃなくても何かしら表示できるわけだね。

ペンギン先生 ペンギン先生

そう。画像の読み込みに失敗したらデフォルト画像を表示したり、新しいブラウザ機能が使えなかったら古い方法で代用したり。日常でもよく使われてる考え方だよ。

ひよこ ひよこ

フォールバックがないとどうなるの?

ペンギン先生 ペンギン先生

最悪の場合、画面が真っ白になったりエラーが出っぱなしになったりする。だから『失敗したらどうするか』を事前に考えておくのが大事なんだ。リトライサーキットブレーカーと組み合わせると、さらに強固になるよ。

ひよこ ひよこ

フォールバックの設計で気をつけることってあるの?

ペンギン先生 ペンギン先生

一番大事なのは「フォールバック先が本当に動くか定期的にテストする」ことだよ。本番障害のときに初めてフォールバックが発動して、実はフォールバック自体が壊れていたという悲劇は現場でよくある。カオスエンジニアリングで意図的に障害を起こして確認するNetflixのアプローチは有名だね。

ひよこ ひよこ

Graceful Degradationってフォールバックと同じもの?

ペンギン先生 ペンギン先生

近いけど少し違うよ。Graceful Degradationは「全体が壊れるのではなく、機能を段階的に落としてサービスを維持する」考え方。例えばECサイトでレコメンドエンジンが落ちたら、おすすめ欄だけ非表示にして購入機能は維持する。フォールバックはその中の具体的な代替手段の一つだね。マイクロサービスの設計ではこの考え方がとても重要だよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
フォールバックは、本来の処理が失敗した場合に備えた代替手段のこと。事前に『うまくいかなかったらこうする』を決めておくことで、システムの安定性を保てる。
📖 おまけ:英語の意味
「Fallback」 = 退却、代替手段
💬 fall back(後ろに下がる)が語源で、前に進めないときに一歩引いて別の方法をとるイメージ
← 用語集にもどる