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

#go

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

云服务器被疯狂扫描怎么办?基于单二进制反向代理的轻量级防护实践

暗夜铭少

作为一名在云上折腾的后端开发者,大家肯定都遇到过这样的场景:刚买了一台腾讯云轻量应用服务器,业务还没跑出什么名堂,后台日志里就全是被各种黑客工具扫描的记录(/w...

000

Golang 中 http.Server 优雅关闭为何不生效?理解 Shutdown 的阻塞行为

用户11716263

线上服务滚动升级时,如果直接对进程发 SIGTERM 信号,正在处理的请求会被硬切,用户侧看到 502 或连接重置。标准库 http.Server.Shutdo...

2800

Go 中 http.Client 连接复用失效导致 TIME_WAIT 堆积的排查与解决

用户1839651

服务上线后监控到单机 TIME_WAIT 连接数持续上涨,每天高峰时段能到两三万,虽然没直接打满端口,但连接建立延迟 P99 明显抖动,偶尔出现 dial tc...

3400

Go 服务端处理大文件上传时内存暴涨的排查与解决

用户11716263

线上一个文件上传服务在高峰期频繁触发 OOM,日志显示每次重启前都有几十个请求在同时处理几百 MB 的文件。这个服务用 Go 编写,核心逻辑是从 HTTP 请求...

3300

Go 中如何正确使用 context 控制并发任务超时与取消

用户1839651

在 Go 服务里写并发任务时,超时和取消几乎是绕不开的问题。比如一个 HTTP handler 里同时调用了多个下游 RPC,或者后台任务需要按批次并发处理数据...

1600

Go 服务中 http.Server 超时配置的坑与正确姿势

用户11716263

线上一个 Go 写的 API 服务偶尔出现请求被强制断开,客户端收到 context canceled 或 EOF,但服务端日志里没有任何 panic 和错误记...

1900

Go 服务在容器中收到 SIGTERM 后连接被重置:从信号处理到优雅关闭的完整落地

超哥前端记录

线上 Go 服务滚动更新时,网关偶尔会返回少量 502,客户端表现为连接被重置。排查后发现旧 Pod 收到 SIGTERM 后进程直接退出,监听 socket ...

2500

Go 泛型约束中 ~ 与接口组合的实战陷阱:类型集与可比较性

用户11716263

在 Go 1.18 引入泛型后,~ 波浪号操作符和接口类型集(type set)经常被混用。一个典型场景是写一个泛型函数,既要接受底层类型为 int 的自定义类...

6610

Go 服务中 HTTP 连接池耗尽:从现象到定位的完整排查路径

用户12771345

线上 Go 服务在流量高峰期偶发大量 dial tcp: lookup api.example.com: no such host 和 connection r...

8110

Go 中 Context 取消没有生效?检查你 defer 的位置

用户12771345

写 Go 服务时,context.WithCancel 基本上每天都会用到,尤其是处理下游 HTTP 请求、数据库查询或者启动后台 goroutine 的场景。...

8510

Go 中 http.Client 连接池耗尽与 TIME_WAIT 堆积:一次真实服务雪崩的排查记录

用户1839651

线上一个用 Go 写的网关服务每隔几天就会出现响应极慢、大量 502 的情况,重启后恢复,但很快复发。用 netstat 一看,TIME_WAIT 状态的连接堆...

9010

Go 中 channel 用错导致死锁的三种常见写法,以及如何用 select 和 context 规避

超哥前端记录

写 Go 并发代码时,channel 的阻塞特性很容易让程序在没有任何报错的情况下直接挂死,表现为 fatal error: all goroutines ar...

7310

Go 服务内存持续上涨?一次 sync.Pool 误用导致的对象逃逸排查

用户12771345

线上 Go 服务运行几天后 RSS 从 200MB 涨到 1.2GB,GC 频率正常但内存不回落,pprof 显示大量临时对象分配在堆上。这个场景在网关、日志采...

8110

Go 服务里用 sync.Pool 缓存临时对象,为什么有时反而更慢?

用户12771345

写过一段时间 Go 服务之后,大概率会在某个热点路径上看到频繁的对象分配,然后想到用 sync.Pool 来复用临时对象、降低 GC 压力。但实际落地时经常遇到...

10000

Golang 中 time.Ticker 未停止导致的内存泄漏与 goroutine 堆积排查

用户1839651

线上一个用 Golang 写的定时同步服务,跑了几天之后内存缓慢上涨,goroutine 数量从启动时的十几个涨到几千个,pprof 里能看到大量 runtim...

9510

Go 语言中 time.Timer 重置与 Stop 的常见陷阱:从一次 goroutine 泄漏排查说起

用户12771345

在一个长连接推送服务里,每个连接都挂了一个 time.Timer 用来做空闲超时检测。逻辑很直白:每次收到客户端消息就重置定时器,如果超过 30 秒没有新消息就...

8910

Go 服务内存持续上涨?从 pprof 看清 slice 底层数组的持有问题

超哥前端记录

线上一个 Go 服务跑几天内存就涨到几个 G,重启后恢复,过几天又上去。这种周期性上涨通常不是内存泄漏那种"永远不释放",而是某些对象被意外持有,GC 无法回收...

9810

知己知彼,百战不殆:AI SKILL 实现原理剖析

孔令飞

OneX 知识平台:一个面向AI时代的知识交付平台,12+ 高质量体系课、4+ 实战项目,涵盖 Go、云原生、AI 。

10510

How to Add LiveChat to a Wbesite,High Concurrency,Real-Time Chat

唯一Chat

Now I will show you how to add a real‑time chat plugin for your website's custom...

9810
领券