分散システムでは、呼び出しが失敗します。バックオフを伴う再試行は一時的なエラーから回復します。サーキットブレーカーは本当にダウンしている依存関係を叩き続けるのを防ぎます。これらは相補的です: ちょっとした不具合は再試行し、障害時は遮断します。
指数バックオフ + ジッターを伴う再試行
一時的な障害(タイムアウト、短いネットワーク障害、503)の場合、再試行してください — ただし指数関数的にバックオフしてジッターを追加して、再試行が同期して雷群になるのではなく分散するようにします。
text
attempt 1 → wait ~1s (+ random jitter)
attempt 2 → wait ~2s (+ random jitter)
attempt 3 → wait ~4s (+ random jitter)
→ cap at maxRetries (e.g. 3) and a max delay → don't retry forever
主な注意点:
