首页
学习
活动
专区
圈层
工具
发布

#go

静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言

Go 服务中 context 取消没生效?检查一下你传的是不是 context.Background()

用户1839651

线上一个 Go 服务在压测时 goroutine 数量持续上涨,pprof 显示大量 goroutine 卡在数据库查询和下游 HTTP 调用上,但上游请求早就...

100

Go 服务中 sync.Pool 用错反而拖慢性能?从一次压测说起

用户11716263

线上一个 Go 编写的网关服务在压测时吞吐量上不去,pprof 显示 GC 频率异常高,trace 里大量时间花在对象分配和标记清理上。团队最初怀疑是日志拼接或...

1700

Go 服务中 context 取消不生效导致 goroutine 泄漏的排查与修复

用户12771345

线上一个用 Go 写的 HTTP 服务跑了几周后内存缓慢上涨,pprof 看到 goroutine 数量从几百涨到上万不回落。服务逻辑不复杂:接收请求后启动几个...

800

Go 服务中 context 取消信号为什么没传到下游?一个真实调用链的排查记录

用户12771345

线上有个 Go 服务偶尔出现 goroutine 堆积,pprof 显示大量 goroutine 卡在 HTTP 请求和数据库查询上,明明上游已经超时返回了,下...

500

Go 服务在 Kubernetes 中优雅关闭:从信号处理到连接 draining 的完整链路

用户11716263

在 Kubernetes 里滚动更新或缩容时,Pod 收到 SIGTERM 后如果直接退出,正在处理的 HTTP 请求、gRPC 调用和后台任务会被硬中断,客户...

2000

深入理解 Go 的 context.WithCancel 及其在 HTTP 请求中的资源泄漏问题

超哥前端记录

Go 的 context 包几乎在每个生产项目里都会用到,但 context.WithCancel 创建的 cancel 函数如果忘记调用,会导致父 conte...

1300

告别手敲 iptables!纯 Go 单文件网络防火墙:内核级拦截与 30 秒防锁死实战

暗夜铭少

在腾讯云上买了一台轻量应用服务器,第一件事往往是配置安全组。但如果你想在服务器内部做更精细的流量管控(比如按国家封锁海外恶意扫描、做并发连接限制),就不得不面对...

2600

从一张 403 拦截页说起:拆解纯 Go 语言 WAF 的“确定性”防御逻辑

暗夜铭少

在安全运维中,最怕的不是被攻击,而是“不明不白地被攻击”或“不明不白地拦了业务”。最近在测试一款基于纯 Go 写的反向代理 WAF(YSL 语枢·盾甲 WAF ...

2000

Go 中 time.Ticker 使用不当导致的内存泄漏与 goroutine 堆积

用户1839651

在 Go 服务里用 time.Ticker 做定时任务很常见,比如定期刷新缓存、上报指标、清理过期连接。但很多人只在 for range ticker.C 里处...

5010

Go 服务中使用 database/sql 连接池时,为什么你的连接数总是降不下来

用户1839651

线上一个 Go 写的订单查询服务,每天上午十点高峰过后,MySQL 的活跃连接数一直维持在 200 以上不回落,而实际 QPS 已经掉到个位数。DBA 那边开始...

4310

Prometheus 告警规则中 for 与 rate 窗口的配合问题

用户11716263

线上服务接入 Prometheus 之后,经常遇到一类告警问题:规则写上了 for: 5m,但告警依然在流量抖动时反复触发和恢复,或者反过来,明明已经持续异常几...

3010

Go 中 time.Ticker 的资源泄漏:从一次线上 CPU 异常说起

用户12771345

线上服务跑了两天之后 CPU 使用率慢慢从 8% 涨到 40%,goroutine 数量也一路攀升,pprof 一看发现有上万个 goroutine 卡在 ti...

3310

Go 里用 context.WithCancel 管理 goroutine 时,为什么总有人忘记调用 cancel

用户1839651

写 Go 服务时经常遇到这样的代码:HTTP handler 里起一个后台 goroutine 去写日志、发异步任务,handler 返回后 goroutine...

2810

Golang 中 time.Timer 的正确释放方式:避免 goroutine 泄漏与 Reset 陷阱

超哥前端记录

在 Go 里用 time.After 或者 time.NewTimer 做超时控制几乎是日常操作,但真正把 Timer 用对的人并不多。常见问题集中在两块:一是...

5010

Go 里用 http.MaxBytesReader 限制请求体,别等到 OOM 才后悔

用户11716263

线上一个图片上传接口最近偶尔被扫,攻击者直接往接口 POST 几百 MB 的随机数据,服务内存瞬间飙高,最后被 k8s 的 liveness probe 重启。...

8810

Go 服务中 context 取消未传递导致 goroutine 泄漏的排查与修复

用户11716263

最近在排查一个 Go 编写的订单处理服务时,发现压测结束后 goroutine 数没有回落,从 pprof 看大量 goroutine 卡在 channel 接...

7110

Go 服务中 context 取消后仍写数据库?检查你误用了 context.Background()

超哥前端记录

写 Go 后端时经常遇到这样的场景:HTTP 请求进来,链路里一路传 context.Context,到了数据访问层顺手调用 db.ExecContext(ct...

8810

仓颉语言 / Rust / Go 并发调度与 FFI 开销深度实测(2026.11.04)

用户1433603

在云原生与异构计算并行的时代,语言选型早已不是“语法糖”之争,而是关乎吞吐量、延迟稳定性与运维成本的核心架构决策。Go 凭借轻量级 Goroutine 统治了云...

9910

Go 1.22 中 http.ServeMux 路由匹配的坑:为什么你的 /api/ 会吃掉 /api/users

用户1839651

Go 标准库的 http.ServeMux 在 1.22 版本做了不小的改动,引入了模式匹配和方法匹配,但很多人升级后发现原本正常的路由行为变了。最典型的是注册...

5910
领券