Webhook重试退避策略计算器

计算Webhook投递失败后按固定间隔或指数退避策略重试的每次延迟时间、总等待时长与最终成功概率。

免费在线工具
Loading…

使用说明

选择退避策略(指数退避或固定间隔)、首次重试延迟、倍率(指数退避时使用)、最大重试次数、单次延迟上限,可选填单次成功率,点击「计算」查看每次重试的具体延迟时间点、总尝试次数、总等待时长,以及(若填写了单次成功率)最终成功概率。

点击「加载示例数据」查看指数退避、首次延迟1秒、倍率2、最多5次重试、上限30秒的典型场景。

功能介绍

本工具是纯前端计算器:

  • 指数退避:第n次重试延迟 = 首次延迟 × 倍率^(n-1),达到延迟上限后不再增长
  • 固定间隔:每次重试延迟相同
  • 总尝试次数 = 1次首次请求 + 最大重试次数
  • 若填写单次成功率p,按各次尝试相互独立假设估算最终成功概率 = 1 - (1-p)^总尝试次数

适合设计Webhook接收方的重试策略、评估当前重试次数是否足够覆盖下游服务的短暂故障。

使用场景

设计Webhook接收端重试策略
评估重试次数与延迟设置是否能覆盖下游短暂故障。
评估是否需要死信队列兜底
当最终成功概率偏低时,判断是否需要引入死信队列或人工介入机制。
对比固定间隔与指数退避
对比两种策略下的总等待时长差异,选择更合适的方案。

常见问题

指数退避和固定间隔该怎么选?
指数退避更适合应对下游服务的持续性故障(避免重试风暴加剧压力),固定间隔更适合应对偶发的瞬时抖动。多数生产级Webhook重试(如Stripe、GitHub)采用指数退避。
最终成功概率的假设是否严谨?
该概率基于各次尝试相互独立且成功率恒定的简化假设,实际中故障往往有相关性(如持续宕机),仅作为参考量级,不代表精确预测。