DVA-C02:AWS Certified Developer - Associate トラブルシューティングと最適化 問10
トラブルシューティングと最適化/AWS サービス・機能によるアプリの最適化外部 API や AWS サービス呼び出しで、スロットリングや一時的なエラーが発生したときに、クライアント側で過負荷を避けつつ確実に再試行したい。推奨される再試行の方法はどれか。
当サイトのオリジナル問題(DVA-C02:AWS Certified Developer - Associateの出題範囲「トラブルシューティングと最適化」に対応。実際の試験問題ではありません)
- A固定の短い間隔で、間を置かず即座に何度も再試行する
- B指数バックオフとジッター(失敗のたびに待機時間を指数的に延ばし、ランダムな揺らぎを加えて再試行する)
- C1 回失敗したら即座に諦める
- D並列度を上げて一斉に再試行する
正解:B
解説
指数バックオフとジッターは、再試行のたびに待機時間を指数的に延ばし、さらにランダムな揺らぎ(ジッター)を加えることで、スロットリングや一時的エラーからクライアント側で過負荷を避けつつ回復する推奨手法です。固定短間隔の連打・即諦め・一斉再試行は、過負荷や回復失敗を招きます。
選択肢ごとの解説
- A誤り。固定短間隔の連打は過負荷を悪化させ、スロットリングを長引かせます。
- B正しい。一時エラー/スロットリングの再試行は指数バックオフ+ジッターが推奨です。
- C誤り。即座に諦めると一時的な障害から回復できません。
- D誤り。一斉再試行は負荷の集中(サンダリングハード)を招きます。