你好,我是 Xiaojunzhou
记录后端、云原生与 AI 工程的实践笔记
最新文章
Go channel 死锁的四个检查点
用一个 worker pool 的错误实现,说明写 channel 代码前要问自己的四个问题:谁来关、谁来读、能否退出、谁来收尾。
vLLM:PagedAttention 与前缀缓存
KV Cache 既是推理性能的关键,也是显存的主要消耗者。梳理 PagedAttention 如何分页管理显存、前缀缓存如何复用相同前缀,以及 prompt 怎么构造才能提高命中率
分布式理论与事务:从 CAP 到对账
从 ACID、CAP、BASE 到 Raft、分布式事务、幂等与分布式 ID,最后落到海外订阅支付的一致性方案,讲清每个方案背后的取舍。
DeepSeek Harness 模块拆解
以 DeepSeek 开源的 agent harness(dsh)为样本,拆解一个 harness 包含哪些模块:循环、上下文、工具、权限沙箱、会话日志、子 Agent 与循环守卫。
go.mod 的 go 指令:语义与工具链
Go 1.21 之后,go.mod 里的 go 行从“建议”变成“硬约束”,并与 GOTOOLCHAIN 联动自动切换工具链。本文讲清它管什么、不管什么,以及工程上怎么用。
GKE 证书自动续期:DNS alias 实践
用 CronJob + acme.sh 在 GKE 上为多命名空间自动续期证书,重点讲 DNS-01 的 CNAME 委派(DNS alias mode)及其参数陷阱
Python 协程与 Go 并发对照
从 async/await 语法与 asyncio 事件循环的分层讲起,对照 goroutine,梳理调度方式、函数着色、通信原语、取消与阻塞调用的差异
Go 协程泄漏:六类生产场景与根因
归纳线上常见的六类 goroutine 泄漏场景,结合 Uber、Coder 等真实案例分析根因,并给出修复与排查方法
Go HTTP 服务优雅退出:从标准库到 Kubernetes
从 http.Server.Shutdown 到 Kubernetes 摘流量时序与宽限期预算,梳理 Go 服务优雅退出的完整做法
LangChain 入门:构建第一个 Agent
基于 LangChain Academy 入门课三个模块,用 DeepSeek 从模型调用、工具、记忆一路做到 MCP、多 Agent、中间件与人工审批,并记录代理环境的依赖与踩坑
MySQL 内存与磁盘数据结构全景
从 Buffer Pool 到 B+ 树页,一文读懂 InnoDB 的存储设计