标签频道
超时预算
该标签下的文章、提问与讨论帖。
【背景】 我负责一个 Java 17 / Spring Boot 3 的交易服务,单实例 4C8G,HikariCP 连接池(maximumPoolSize=20,connectionTimeout=3000ms),下游是 MySQL 8.
背景 最近复盘一次 P99 抖动(订单聚合接口,Spring Boot + HikariCP + MySQL,一次请求串行/并行 5~7 条 DB 查询 + 2 个 RPC),最后定位到根因不是任何单点慢,而是「超时预算」被吃干后触发的重试
【背景】 我负责一个 Java 17 / Spring Boot 3 的交易服务,单实例 4C8G,HikariCP 连接池(maximumPoolSize=20,connectionTimeout=3000ms),下游是 MySQL 8.
«结论先行:连接池故障里 80% 的锅不在 "maximumPoolSize",而在「上游线程池 - 连接池 - DB」三层资源池的超时预算没对齐。单点调参(扩池、缩超时)解决不了级联——因为 Little 定律告诉你,只要慢 SQL 还在
«结论先行:超时不是「让请求成功的开关」,而是「让失败尽快返回的开关」;重试不是救场,而是容量放大器。这两句话是 2025-11-28 那次事故教给我的,代价是 82000 次重试、2300 笔重复订单、8100 条用户工单。下面按「现象
【背景】 我负责一个 B 端交易网关(JDK 17 + Spring Boot 3.2,Tomcat max-threads=400),对外 P99 SLA 是 800ms。一个典型请求链路:网关 → 订单服务 → 库存服务 → MySQL
【背景】 我负责一个支付编排服务(JDK 17 + Spring Boot 3,单机 8C16G,前置 4 实例,K8s cpu limit=4),对外 QPS 峰值约 1.5k,P99 目标 500ms。一次请求内会并行发起 4 个下游
文
标题
摘要