用户12771345
Go 服务中 context 超时传递的隐蔽陷阱:为什么下游超时后上游还在等?
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户12771345
社区首页
>
专栏
>
Go 服务中 context 超时传递的隐蔽陷阱:为什么下游超时后上游还在等?
Go 服务中 context 超时传递的隐蔽陷阱:为什么下游超时后上游还在等?
用户12771345
关注
发布于 2026-11-05 10:16:17
发布于 2026-11-05 10:16:17
43
0
举报
概述
在 Go 微服务里用 context.WithTimeout 做请求超时控制几乎是标配,但代码跑久了会发现一个怪现象:下游服务明明已经因为超时返回了,上游调用方却还在傻等,直到自己的 timeout 也烧完才报错。这中间白白浪费了几百毫秒甚至几秒,压测时 P99 直接飙高。问题通常不在 HTTP client 或数据库驱动本身,而是超时传递时 context 的父子关系没理清,或者子 gorout
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
go
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档