summary
2019 年,Discord 因服务频繁 flapping 触发客户端重连风暴(thundering herd),前端队列被填满并 OOM,级联拖垮实时通信系统。
timeline
后端服务不稳定导致连接反复断开;海量客户端同时重连,网关队列积压 OOM;Discord 通过限流重连、扩容与修复根因服务恢复。
root_cause
某后端组件异常使连接状态频繁翻转,客户端指数退避重连仍集中爆发,网关在重连洪峰下资源耗尽。
amplifiers
缺少重连退避与排队上限,重连请求在边缘节点堆积引发 OOM;实时系统耦合紧密,单点故障沿依赖链扩散。
mitigation
引入重连抖动与排队上限、扩容边缘、修复根因服务;增加熔断。
lessons
客户端重连必须随机抖动并设上限;边缘节点需保护自身不被重连洪峰打垮。
checklist
重连抖动加上限;网关资源隔离;熔断降级;依赖隔离。