原来是什么样
原有学习平台拆成 6 个微服务,服务间靠 HTTP 与 URL 配置互调。一次版本升级要协调 6 个仓库、十余个容器,运维成本高且故障定位困难。同时系统已积累大量历史课程与学员数据,业务方明确要求「不能推倒重来」。
我们交付了什么
以 Unilearning 的模块化单体重构:8 个业务域进程内聚合,域间只认 api 契约,internal 墙由编译器强制。用 legacy-import 工具迁移旧库与旧身份库,ID 全部保留,老用户的 bcrypt 密码直接可用原密码登录。
- 模块化单体把服务间调用变回进程内函数调用,故障定位从跨服务追踪变成单进程日志
- uv1 / tv1 / admv1 三端路由路径保持与旧前端兼容,前端一行没改
- 迁移分域推进,每域一组版本化迁移文件,可单域回滚
- 老用户沿用原密码登录,不需要强制重置,客服工单量没有上升
最担心的是迁移当天学员登不进来。结果没人反馈异常,我们准备的应急预案一次没用上。
—— 平台技术负责人
More Stories
Get in touch
把身份、Agent 与私域的复杂度,交给一套可治理的内核
无论你是要替换现有的 IAM、搭建 Agent 中台,还是想把企微私域真正运营起来——先从一次 30 分钟的架构沟通开始。我们会先判断问题是不是我们擅长解的那类,不合适会直接说。