問題文
外部の決済サービスを呼び出す処理で、ときどき一時的な失敗が返る。呼び出しをそのまま繰り返すと相手側の負荷を押し上げ、多数の利用者が同時に再試行して波が揃ってしまう。再試行の実装として適切なものはどれか。(2つ選択してください。)
選択肢
- 相手が復旧するまで自分側の処理を全部止め、決済以外の機能も停止させる
- 失敗したら間隔を置かずにすぐ再試行し、成功するまで繰り返す
- 再試行の間隔を試行ごとに広げていく
- 再試行の回数に上限を設けず、無制限に続ける
- 待ち時間にばらつきを持たせ、多数の呼び出し元の再試行が同じ瞬間に揃わないようにする