【ふぉーるばっく】
フォールバック とは?
最終更新:
💡 本来の方法が使えないときに備える「代替手段」
本来の方法が失敗したり利用できなかったりしたときに使う代替手段。キャッシュや簡易表示などが例ですが、代替結果が許容できるか、代替先も動くかを確認する必要があります。
📌 このページのポイント
- 失敗や機能非対応に備えて別の方法へ切り替える
- 同じ処理をやり直すリトライとは異なる
- 古い情報や機能制限があるなら利用者に分かるようにする
- 代替先への負荷集中や二重処理を避け、障害時の経路も検証する
フォールバックは失敗したときのプランB?
そうだよ。例えば最新情報を取得できないとき、更新時刻を示して保存済みの情報を表示する方法がある。求められる正確さによっては、代替せずエラーを伝える方が適切なこともあるんだ。
リトライと同じ?
リトライは同じ処理をやり直すこと。フォールバックは別の結果や方法へ切り替えることだよ。待ち時間と試行回数を決めずに組み合わせると、かえって遅くなったり負荷を増やしたりするね。
古いデータでも返せば安心?
価格や残高など、古い値を最新として使うと困る場面があるよ。代替結果の有効期限や、表示だけに使うのか処理の判断にも使うのかを決めよう。
サーキットブレーカーとの関係は?
失敗が続く相手への呼び出しをいったん止める仕組みがサーキットブレーカーだよ。その間、代替結果を返すか、利用できないと伝えるかを別に設計するんだ。
代替先を用意すれば必ず止まらない?
保証はないよ。代替先も同じ障害の影響を受けたり、切り替えで負荷が集中したりする。正常時だけでなく、失敗から切り替える経路もテストしよう。
もっと詳しく知りたい人へ
決済がタイムアウトしたら別の決済へ切り替えてよい?
タイムアウトだけでは元の処理が失敗したと確定できません。成功したのに応答だけ失われた可能性があるため、処理状態や重複防止の仕組みを確認します。代替操作を自動で重ねると二重処理になり得ます。
まとめ:ざっくりこれだけ覚えればOK!
「フォールバック」って出てきたら「本来の処理が失敗したときの代替手段をあらかじめ用意すること」と思えればだいたいOK!
📖 おまけ:英語の意味
「Fallback」 = 退却、代替手段
💬 fall back(後ろに下がる)が語源で、前に進めないときに一歩引いて別の方法をとるイメージ