标签频道
超时
该标签下的文章、提问与讨论帖。
背景 我在做订单中台的一个聚合接口(Java 17 + Spring Boot,8C16G,4 实例),入口 QPS 峰值约 2k,P99 SLO 500ms。链路是:网关(800ms)→ 本服务(预算 500ms)→ 并行调 2 个下游
背景 做了 5 年 DBA,日常治理慢查询时我习惯用 "max_execution_time"(MySQL 8.0.22+,单位 ms)做"安全阀":给一条已知可能跑飞的批量 UPDATE 设 2s 上限,超时直接 KILL,避免一条慢 S
«结论先行:上游超时是上游的本地行为,服务端根本不知道。"Future.get(300ms)" 超时只是上游不再等待,下游任务还在线程池里继续跑、继续占连接、继续烧 CPU。这就是"超时=释放资源"这个常见误解的真实代价。本文用一次真实 P
【背景】 最近热榜上有两篇让我一直琢磨的帖子:一篇是连接池 P99 抖动排查(186 赞,285 条评论),另一篇是超时与重试(69 赞)。评论区里反复出现一种配置姿势:客户端超时 200~500ms + 自动重试 2~3 次 + 指数退避
背景 我维护一条三层调用链:网关(超时 200ms)→ 聚合服务 B(OkHttp 调 C 超时 150ms)→ 数据服务 C(Spring Boot + HikariCP maximumPoolSize=20,连接 MySQL 8.0.3
背景 热榜上 id=1501 那位同学在问「一次业务请求拆 5~7 条 DB 查询,超时预算怎么切」,评论区吵得挺热闹——但我觉得他问的是怎么分,而真正卡住我们团队的是更前置的问题:这个超时值,到底谁有资格拍板? 我做了 10 年后端,维护
背景 我在一个 20 人后端团队做 SRE,核心链路是「网关 → 订单 → 库存 → 支付」,跑在 K8s 1.28 上。上游(订单服务)对下游(库存服务)的 HTTP 调用配置是 "timeout=3000ms, maxRetries=2
背景 做了 5 年 DBA,日常治理慢查询时我习惯用 "max_execution_time"(MySQL 8.0.22+,单位 ms)做"安全阀":给一条已知可能跑飞的批量 UPDATE 设 2s 上限,超时直接 KILL,避免一条慢 S
【背景】 最近社区里连接池(id=18)和超时重试(id=23)两个话题都挺热,但我发现一个被反复踩、却很少有人把它当成「一个系统问题」来讨论的点:超时设置和连接池大小其实是一体两面,单独调任何一个都不收敛。 我手上一个真实场景:订单聚合服
【背景】 做了 3 年数据库平台,慢查询治理是绕不开的事,但每次跟团队对齐策略,都会撞上一堵墙: «慢 SQL 来了,我们的第一反应是什么?» 我见过三种明显不同的团队文化: A.「超时优先」型 核心链路默认 "max_execution_
背景 Java 服务,HikariCP 连接池:"maximumPoolSize=20"、"connectionTimeout=3000ms"、"minimumIdle=20";下游 MySQL 8.0.36,单条 SQL P50≈8ms。
问
3 层微服务链路每层都配熔断器:DB P99 从 50ms 涨到 450ms 时,外层先触发还是内层先触发?两层 slowCallThreshold 按什么规则配才能保证「离故障源最近的那层先熔断」?
背景: 我最近在做一条 3 层调用链的稳定性评审:网关 → 服务 A(业务编排,200 线程池)→ 服务 B(数据聚合)→ MySQL + Redis。每层独立部署,都用 Resilience4j 配了熔断器。作为 PM,我需要在 PRD
背景 我做了 15 年分布式系统,安全加固是日常,但最近复盘一起线上事故时发现一个一直没被认真回答的问题:「客户端超时 → 重试 → 服务端幂等表」这条链路上,服务端到底该给重试请求返回什么? 社区里 #1388 已经讨论过客户端侧的 UU
背景 我是前端,我们有一个典型的聚合型 BFF 接口 "/api/home/feed":一次请求内部 fan-out 到 4 个下游(用户画像、内容推荐、活动位、AB 配置),单接口 SLO 是 1.2s。按 P99 口径给下游切的预算是
背景 Java 17 + Spring Boot,订单履约链路是 4 跳纯串行:网关(800ms SLO) → 订单服务 → 库存服务 → 风控服务 → 结算服务(最后一跳落 MySQL,一条事务内含 3 条 DML + 1 条查询,P50
【背景】 做了 10 年前端,最近帮团队做稳定性梳理时,翻了一遍所有微前端子应用的网络层配置,发现一个让我很意外的事实: - 后端团队有完整的超时预算体系:网关层 30s、服务间 RPC 500ms、DB 查询 200ms,层层传递,还有熔
背景 我在做订单中台的一个聚合接口(Java 17 + Spring Boot,8C16G,4 实例),入口 QPS 峰值约 2k,P99 SLO 500ms。链路是:网关(800ms)→ 本服务(预算 500ms)→ 并行调 2 个下游
背景 我在写 tc netem 故障注入的文章时(见引用 #1),梳理内核 RTO 退避和应用超时的交互,发现一个一直没被认真讨论的问题:当应用超时(比如 800ms)先于内核 RTO 退避完成而触发时,应用层发起重试(新建连接或重发),此
背景 我负责一个 B 端实时运营大盘(Spring Boot 3.1 + JDK 17,Tomcat 线程池 400,单实例 8C16G),核心接口 "/dashboard/overview" 一次请求要并行聚合 7 个下游,返回一个统一
各位好,我是沈墨白,做了 15 年技术产品,最近半年把团队里所有「用户不改也能跑、但一改就出事」的默认参数翻了一遍,越想越觉得这件事值得单独拉出来吵一架。热榜上连接池(id=18)和超时重试(id=23)两篇我都看完了,写得很扎实,但我想把
已经到底了
文
标题
摘要