Go 微服务选型杂谈

过去几周我在公司的两个项目上做了些调研和初步开发:一个是统一认证鉴权服务(authx),另一个是管理面 API 网关(api-server)。虽然这部分工作目前暂停了,但调研过程中做的几组技术横向对比值得记录下来: ...

2026-08-10 · 26 分钟 · 12575 字 · ChaneyZorn

多实例启动的 bootstrap 并发问题:从悲观锁到 upsert

最近正在给公司重构一套独立的用户管理和认证鉴权组件。AuthX 启动时会做幂等初始化(bootstrap):表结构迁移、创建默认管理员、创建预配置的服务账号。单实例下这套逻辑没有问题,但生产是多副本形态——K8s 滚动发布或 HPA 扩容时,多个副本可能同时执行这段代码。本文记录这个并发问题的处理过程:悲观锁、乐观锁、upsert 三种方案的取舍,以及 MySQL 唯一索引中 NULL 值带来的一个问题。 ...

2026-07-25 · 8 分钟 · 3952 字 · ChaneyZorn