已采纳
回答正文
回复
讨论正文
该问题的正文与回答。
我维护一个 BFF 网关(Java 17 + OkHttp,线程池 200),下游是库存查询服务(Go,gRPC over HTTP2)。晚高峰稳态 3000 QPS。已经按社区惯例做了两层防护:
平时没事。但今年 Q3 一次下游 GC 抖动 40s 恢复后,我们网关侧观察到「恢复瞬间 3s 内又打出 2 万+ 请求」,下游刚喘过气又被压垮,二次故障持续了 90s。事后看监控:熔断恢复后所有线程的 in-flight 请求同时涌回 + half-open 探测流量叠加。
社区里 id=1456 讲了 jitter + 重试预算 + 探测限流的三重加固,id=1593 讨论了 429 的重试边界,但「客户端侧熔断半开的探测限流参数怎么定」这块我还没看到有帖子给具体数字。想请有 Resilience4j / Hystrix / Envoy outlier detection 实战经验的同学给一份可直接抄的参数组合 + 你们的踩坑数据。