Exponential Backoff
指数バックオフは、失敗した操作の再試行間隔を指数的に増やす(1 秒/2 秒/4 秒/8 秒など)ことで、再試行ストームが下流サービスを圧倒するのを防ぐ。
目的
下流サービスを圧迫せず、再試行ストームを避ける賢い再試行。
メカニズム
n 回目の再試行は base * 2^n + ジッターだけ待つ(ランダム化で同期再試行を回避)。最大再試行回数とタイムアウトを設定する。サーキットブレーカーと併用し、障害が続けばブレーカーを開く。AWS SDK には指数バックオフが組み込まれている。
ユースケース
- リトライ戦略
- 障害時のリカバリ
- トラフィック制御