订单、库存与支付通过协调机制协作的分布式事务概念图

分布式事务:从原理、开源实现到性能取舍

以“下单、库存、支付”为主线,理解分布式事务解决什么问题、常见方案如何工作,以及如何通过开源组件落地、分析性能和验证故障恢复。 本文关注:遇到一个跨服务业务流程时,能够说清事务边界、失败后的结果、恢复责任和方案取舍。 ...

September 30, 2026 · 14 min · Song Kai

B+ 树与 LSM 树:读写方式与性能取舍

假设数据库里有一条 id=42, balance=100 的记录,现在要把余额改成 120。数据库该怎么保存这个变化? 一种做法是找到这条记录所在的页,把值改掉。另一种做法是先记下一条新记录:id=42 的余额现在是 120,等以后再整理新旧数据。 ...

September 24, 2026 · 11 min · Song Kai

MySQL max_prepared_stmt_count:一个容易被忽略的实例级上限

应用日志里突然出现这样的错误: Error 1461: Can't create more than max_prepared_stmt_count statements (current value: 16382) 看到参数名,第一反应通常是把它调大。但在修改之前,最好先弄清楚:到底是哪台数据库触及了上限?是业务规模增长,还是预编译语句一直没有释放? ...

September 14, 2026 · 6 min · Song Kai
Redis 升级后应用重启触发命令缓存格式不兼容与请求排队

Redis 4 升级至 6 后,go-redis 在应用重启后出现超时的原因分析

之前把 Redis 从 4 升级到 6,遇到过一个有点反直觉的问题。 项目使用的客户端是 go-redis v6.15.5。Redis 原地升级后,应用没有重启,业务运行正常。但应用重启之后,低流量时看起来没问题,流量上到约 40 QPS,就开始出现超时。 ...

September 13, 2026 · 8 min · Song Kai
跨地域 TLS 握手与大报文分段

升级 Go 1.23 后,Hologres 连接出了个奇怪的问题

之前升级 Go 1.23,遇到过一个 Hologres 连接问题。 Hologres 实例在阿里云新加坡。从 AWS 新加坡的机器访问没问题,但从 AWS 美国、欧洲的机器访问,就会 SSL 失败。 一开始怀疑是升级后加密算法不兼容,但同一实例在不同地域表现不同,说明还需要检查网络路径上的差异。 ...

September 8, 2026 · 3 min · Song Kai
代理桥接并转换模型工具请求

Codex 接第三方模型报 unknown tool type: namespace:一次完整排查

公司现在什么都讲究省钱,而且是每一分钱都要省。模型调用费当然也不能例外,所以我一直使用 Codex + DeepSeek。休了几天假回来,Codex 升级后却突然变成了每发一条消息就报错: ...

September 7, 2026 · 5 min · Song Kai
悬浮仪表盘展示上下文用量与分类

给 Codex Desktop 加一个 Context 用量仪表盘:Windows 和 macOS 实现

长时间使用 Codex Desktop 处理一个任务时,系统指令、Skill、MCP 工具定义、对话历史和工具结果会逐渐占用 Context。一个使用百分比能告诉我窗口还剩多少空间,但无法解释这些空间主要用在了哪里。 ...

August 20, 2026 · 5 min · Song Kai
书签工具展开浏览器中的 JSON 状态树

一键查看 SSR 状态:可折叠 JSON 树 Bookmarklet

SSR 页面常把首屏请求结果随 HTML 注入浏览器。为了减少反复打开 Console、查找状态位置和手动输入命令的操作,可以把检查脚本存成 Bookmarklet(书签脚本):点击书签,直接在当前页面展开一棵可搜索、可复制的 JSON 树。 ...

August 18, 2026 · 9 min · Song Kai
Binlog 事件与事务可见性之间的时间窗口

Canal 明明收到了 Binlog,为什么主库还查不到数据?

在一条常见的 CDC 链路中,Canal 订阅 MySQL Binlog,将订单变更投递到 MQ;消费者收到消息后,再按主键回查主库获取完整数据。 低流量时一切正常,流量上来后却偶尔出现一种反直觉的现象:Canal 已经收到 INSERT,消费者立即回查同一台主库却返回空,稍后重试又能查到。 ...

August 17, 2026 · 8 min · Song Kai
统一接口连接手机、浏览器与游戏应用

让 AI Agent 走出浏览器:Android、iOS、WebView 与 Unity 的统一操作接口

在建设全自动化的 AI Native 需求产出流程时,我们遇到了一个很现实的问题: 现有 Skill 类 Agent 操作 Web 页面比较成熟,但一旦需求涉及 Android、iOS 或 Unity 应用,自动化链路就会断掉。 ...

June 16, 2026 · 9 min · Song Kai