Go语言技术文章
-
本文用一个完整 Go HTTP 服务示例,讲清楚如何在收到 SIGTERM 后先摘流,再等待请求完成,最后用超时上下文关闭服务,避免发布和重启时丢请求。340 收藏 -
用服务配置文件解析场景讲清楚 Go 处理 JSON 的稳定写法:用结构体标签承载字段映射,先填默认值,再用 decoder 检查未知字段,最后得到类型明确的配置对象。301 收藏 -
用批量处理任务场景讲清楚 Go worker pool 的实现方式:任务进入 jobs channel,固定数量 goroutine 消费任务,结果统一写入 results channel,并通过 close 和 WaitGroup 安全收尾。459 收藏 -
通过一个后端服务调用第三方接口的案例,演示 Go context.WithTimeout、defer cancel、HTTP 请求取消、错误判断和常见坑,避免接口一直等待。346 收藏 -
围绕 Go defer 在循环中的常见误用,解释为什么文件、连接、锁等资源会等到函数返回才释放,并给出函数拆分、显式关闭和错误处理的实战写法。418 收藏 -
通过一个 Go map 并发读写 panic 案例,解释普通 map 为什么不是并发安全的,并对比 RWMutex、sync.Map、分片 map 和 channel 拥有者模式的适用场景。109 收藏 -
把日志、指标、链路追踪和 pprof 串成 Go 服务故障复盘模板,形成可复用的排查闭环。710 收藏 -
讲解 Go 服务调用下游时如何设置超时预算、退避重试、熔断状态和可观测指标。687 收藏 -
从 errors.Is、errors.As、结构化日志和指标标签出发,设计能定位问题又不会刷屏的告警体系。664 收藏 -
整理 goroutine 泄漏的常见原因,用 context、pprof dump 和阻塞栈分组定位泄漏源。641 收藏 -
讲解 Go 服务如何设计 /healthz、/readyz 和 http.Server.Shutdown,避免发布和重启时丢请求。618 收藏 -
介绍 runtime/metrics 和 expvar 的使用方式,用低成本接口暴露 goroutine、GC、内存和自定义状态。595 收藏 -
用 net/http/pprof 和 go tool pprof 定位 Go 服务 CPU 热点、内存分配和 goroutine 阻塞问题。572 收藏 -
介绍 Go 服务如何接入 OpenTelemetry,设计 Span、Attributes 和跨服务 Context 传播来定位慢调用。549 收藏 -
围绕 Go 服务指标体系,整理 RED、USE、Go runtime 指标和业务指标的设计方式。526 收藏