コンテンツへスキップ
uencoder

Exponential Backoff

指数バックオフは、失敗した操作の再試行間隔を指数的に増やす(1 秒/2 秒/4 秒/8 秒など)ことで、再試行ストームが下流サービスを圧倒するのを防ぐ。

目的

下流サービスを圧迫せず、再試行ストームを避ける賢い再試行。

メカニズム

n 回目の再試行は base * 2^n + ジッターだけ待つ(ランダム化で同期再試行を回避)。最大再試行回数とタイムアウトを設定する。サーキットブレーカーと併用し、障害が続けばブレーカーを開く。AWS SDK には指数バックオフが組み込まれている。

ユースケース

  • リトライ戦略
  • 障害時のリカバリ
  • トラフィック制御

関連用語

References