调用看着还能失败就立刻重试,也不要急着拉满并发:退避、抖动和熔断联动更关键

📅 2026/8/24 5:09:23
调用看着还能失败就立刻重试,也不要急着拉满并发:退避、抖动和熔断联动更关键
还能失败重试不等于该立刻拉满把「多试几次总能成功」当成可省略退避与抖动的理由往往会在下游故障时把重试打成风暴客户端齐步重试、线程池打满、下游更慢形成正反馈。看起来像在提高成功率实际在放大故障面。更稳妥的默认态度是重试有预算退避可封顶抖动打散峰值熔断打开后停止无意义重试。本文只谈通用闸门。![重试三闸退避封顶、抖动、熔断联动](assets/retry-storm-gate-body-01-2026-08-20.png)闸门一退避是否可指数可封顶退避应可见且可指数增长并设上限。立刻同步重试会在故障点叠加流量。封顶后应停止自动重试或转入降级而不是无限拉长等待却仍打下游。抽检在下游 5xx 时确认重试间隔上升、达到封顶后停手并留下「预算耗尽」类记录。闸门二抖动是否可随机化抖动要把齐步峰值打散。无抖动的固定退避会在同一时刻再次压垮刚恢复的实例。随机化范围应写进配置并能在指标里看到重试时间分布不再扎堆。![抖动打散齐步峰值避免二次压垮](assets/retry-storm-gate-body-02-2026-08-20.png)闸门三熔断是否可联动打开熔断打开后重试应停止或大幅降级而不是绕过熔断继续打。重试预算与熔断状态要联动熔断半开探测用小流量成功后再恢复失败则快速回到打开。局限、替代路线与复核清单重试不能根治超时与容量不足需与超时预算、限流、降级配合。更完整的替代路线是「退避封顶 抖动 熔断联动 重试预算」。发布前至少复核四问退避是否封顶抖动是否可见熔断打开后是否停重试写入是否仍幂等。本文描述通用模式正式调整前请用本环境故障注入样本复核。![复核四问封顶、抖动、熔断联动、写入幂等](assets/retry-storm-gate-body-03-2026-08-20.png)