November 6, 2025
2025年10月29日,Go 官方博客发布了一篇关于 Green Tea 垃圾回收器的文章,介绍了 Golang 1.25 中引入的 Green Tea 垃圾回收器的设计背景和实现原理。这里对这篇文章进行翻译,顺便了解一下 Go 垃圾回收的现状和未来发展方向。
February 26, 2024
分析 nats 的设计和实现,理解其中的关键流程,并记录阅读 nats 源码中的关键函数。
October 10, 2023
从 kratos 群里看到有人问软链接的配置文件无法热更新的问题。突然发现自己对于文件监控的底层实现和原理并不清楚,因此有了这边文章,从上层应用一直深入到linux内部实现,弄清楚文件监控怎么用,怎么实现。
August 17, 2023
探究一下如何实现长连接服务的优雅启停/升级,以及背后的原理。同时分析一下 cloudflare/tableflip 的源码设计。知其然更知其所以然,才能更好的使用。
July 25, 2022
编写了一个二进制程序,想要替用户自动切换当前 Shell-Session 的工作路径,在程序内执行 `chdir` 系统调用却发现毫无作用。为什么没有产生作用?那应该怎么做才能产生作用?本文就此记录下解决这个问题的经历。
January 27, 2022
尝试设计一个 "分布式" 定时任务系统,"功能设计" 和 "分布式设计" 作为切入点。不含任何的代码,只是一个设计思路。
January 25, 2022
动手做一个 protoc-gen-fieldmask 插件来解决,gRPC在服务侧的增量更新和屏蔽字段的场景问题;同时总结下使用 PG* 开发 protoc 插件的一些经验。
December 15, 2021
Sentry+OpenTelemetry前后端全链路打通, 从后端的角度去思考链路的构建,为 otel-collector 实现定制的 trace exporter。
September 27, 2020
使用Go来实现WebSocket协议
August 6, 2020
解决微服务架构下,链路追踪,问题定位和可视化分析等问题,链路追踪还是微服务可观测性的重要基石,本文就实战了在Go项目中如何将opentracing落地