首页/AI/AI 应用速查/重试与失败成本控制
本包目录(159 条)

重试与失败成本控制

失败重试要花钱:超时、限流、网络抖动都会重发请求,重复计费。策略是超时分级、指数退避加抖动、幂等键防重复提交,并对重试率设监控。

AI 应用速查AI更新于 2026-10-12
触发429 限流 / 5xx / 超时 / 连接重置
退避指数退避 + 随机抖动,避免集群同步重试
上限限定次数与总时长,超了快速失败
幂等请求带幂等键,防同一任务重复扣费

指数退避(Python)

指数退避(Python)
import random, time
def backoff(attempt, base=0.5, cap=8.0):
    delay = min(cap, base * (2 ** attempt))
    return delay * (0.5 + random.random())    # 抖动

for attempt in range(4):
    try:
        resp = call_api()
        break
    except RetryableError:
        if attempt == 3:
            raise
        time.sleep(backoff(attempt))
无退避的重试风暴会把限流升级成封禁;重试率持续升高要查上游真实故障,而不是继续加次数。

易错点

  • 固定间隔狂重试,触发更严格的限流
  • 失败请求没有幂等键,任务队列重复执行

数据来源与参考

  • AWS 指数退避与抖动实践;OpenAI Rate Limits 指南

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌