Genesis clog:基于 slog 的微服务日志库设计与实现

从 slog 的 Record、Attr 和 Handler 出发,介绍 Genesis clog 如何实现结构化字段、Context 传播、动态日志级别和微服务命名空间。

2026-01-28 · 2 分钟 · ceyewan

Go 并发控制:Singleflight、sync.Once 与 init() 对比

本文对比 Go 中 singleflight、sync.Once 和 init() 三种并发控制机制:singleflight 用于高并发下防缓存击穿(同 key 仅执行一次);sync.Once 保证函数终生只执行一次,适合懒加载;init() 在包导入时自动执行,用于包级初始化。

2026-01-27 · 2 分钟 · ceyewan

Golang 生产开发常用工具

涵盖 Holmes(异常现场捕获)、Tableflip(零停机热升级)、Cron(定时任务)、Swagger(API 文档)、Air(热重载)等核心工具,聚焦可观测性、稳定性与开发效率。

2026-01-27 · 4 分钟 · ceyewan

Go 进阶之路:Runtime 篇

基于 Go 1.26.1 串起 G-M-P 调度、内存分配、并发 GC、逃逸分析和 Netpoller,并给出可实际验证的诊断方法。

2025-12-12 · 3 分钟 · ceyewan

Go 进阶之路:语言机制篇

基于 Go 1.26.1 说清 interface 的 typed nil、defer 求值时机、panic/recover 边界、reflection 可修改性与 generics 的适用场景。

2025-12-12 · 3 分钟 · ceyewan

Golang进阶之路-并发核心篇

深入剖析 Go 语言并发模型的核心组件,揭秘 Channel 的 hchan 结构、环形缓冲区与锁机制,Select 的随机轮询与死锁避免策略,以及 Context 的树状取消传播原理。

2025-12-12 · 6 分钟 · ceyewan

Go 进阶之路:同步原语篇

基于 Go 1.26.1 梳理 Mutex、RWMutex、WaitGroup、Once、Cond、Pool 和 sync.Map,重点关注内存模型、使用边界与版本变化。

2025-12-12 · 3 分钟 · ceyewan

Go 进阶之路:数据结构篇

基于 Go 1.26.1 梳理 string、slice、Swiss Table map 和 channel 的语义与实现,重点讲清共享底层存储、扩容、nil 值和并发边界。

2025-12-12 · 3 分钟 · ceyewan

gRPC-Go客户端重试策略演进与实践

本文深入解析gRPC-Go客户端从grpc.Dial到grpc.NewClient的演进,探讨连接管理与重试策略的最佳实践,涵盖懒加载机制、内置重试配置及关键实现要点,助力开发者构建高韧性Go应用。

2025-07-06 · 2 分钟 · ceyewan

Go 中的优雅关闭 Graceful Shutdown

本文详解了现代 HTTP 服务器与容器化应用中实现优雅关闭的关键策略,涵盖信号捕获、超时控制、流量排空及资源释放等核心要点,助力开发者构建高可靠、无中断的服务退出机制。

2025-06-28 · 4 分钟 · ceyewan