🔁Webhook再試行ポリシー設計ガイド

失敗率・再試行回数基準で安定的なWebhook設定

%

Webhookの再試行ポリシー、どう設計すれば安全?

Webhookは受信サーバーの一時的な障害やネットワーク問題で失敗することがあるため、再試行ロジックが必須です。このツールは単発リクエストの予想失敗率と再試行回数を基準に、最終的にすべての試行が失敗する確率を計算し、指数バックオフ方式での再試行別待機時間を表示します。

最終失敗率は(単発失敗率)^(再試行回数+1)で計算されます。例えば単発失敗率が10%で4回まで再試行する場合、すべての試行が失敗する確率は0.1^5 = 0.001%と非常に低くなります。再試行回数を増やすほど成功率は上がりますが、バックオフ倍率分だけ待機時間も指数的に増えるため、バランスが必要です。

バックオフ倍率を設ける理由は、障害発生時にすべてのクライアントが同時に再試行を送ると、受信サーバーの負荷がむしろ大きくなるためです。待機時間を段階的に増やしてサーバーが復旧する時間を確保することが、安定した設計の要です。

よくある質問

再試行回数を増やせば増やすほどいい?

成功率は上がりますが、最後の再試行までの総待機時間も増えます。リアルタイム性が重要なWebhookなら3~5回程度に制限するのが一般的です。

バックオフ倍率はなぜ必要?

障害発生時に全クライアントが同時に再試行すると、対象サーバーの負荷がさらに大きくなります。倍率を設けて待機時間を段階的に増やすことで、サーバーが復旧する時間を確保できます。

この計算は実際のサービスの失敗率と異なる?

はい。実際の失敗率は時間帯、トラフィック、障害タイプによって変わるため、過去のログデータに基づいて入力値を調整するのが正確です。