jitter

  • 2026.08.07 | youres | 65次围观
    bash随机抖动jitter防止重试风暴:让批量任务不再同时撞墙
    写批量任务脚本时,你可能遇到过这种情况:服务器临时挂了,一堆客户端同时检测到失败,然后——按照同一个固定间隔——在完全相同的时刻发起重试。结果不是问题解决了,而是把服务器直接冲垮了。这种现象叫重试风暴(Thundering Herd),也叫惊群效应。问题的根源不在重试逻辑本身,而在重试时机太整齐。 固定间隔为什么会引发风暴 假设100台机器同时检测到API超时,约定每隔5秒重试一次。这100台机器从同一秒开始计时,下一次重试全部发生在T+5s、T+10s……每5秒就有10...
  • 2026.08.05 | youres | 65次围观
    bash随机抖动jitter防止重试风暴实战:让批量任务的等待策略不再集体踩踏
    你有没有遇到过这种情况:一批脚本同时跑,突然某个接口抖动了一下,结果所有脚本同时失败,又同时在第30秒、60秒、120秒发起重试——流量撞在一起,雪球越滚越大。这就是典型的「惊群效应」,也叫重试风暴(Retry Storm)。 解决思路其实很简单:给每次重试间隔加一点随机性,让大家的等待时间错开。这就是本文要讲的 jitter(随机抖动)。 为什么指数退避还不够 先看一个典型的指数退避脚本: #!/bin/bashmax_retries=5delay=2attempt...
1