我们 2020 年把单体拆成微服务,2024 年又合并回模块化单体。分享下教训:
**微服务踩的坑:**
- 30 个服务,每个都要部署/监控/日志,运维成本爆炸
- 分布式事务难搞,最终一致性改成 saga,代码复杂度翻倍
- 跨服务调试地狱,一个请求跨 5 个服务看日志
**回归模块化单体后:**
- 按业务模块分目录,模块间通过 interface 调用
- 共享 DB 但按 schema 隔离
- 部署从 30 个服务变 1 个,CI/CD 简单太多
- 性能反而更好,没有网络开销
**结论:**
- 团队 < 50 人别上微服务
- 流量 < 10 万 QPS 别上微服务
- 模块化单体是 90% 团队的最佳选择
DZ、WP 都是模块化单体,没那么落后。
从单体到微服务再到模块化单体:架构演化的反思
我们 2020 年把单体拆成微服务,2024 年又合并回模块化单体。分享下教训:
**微服务踩的坑:**
- 30 个服务,每个都要部署/监控/日志,运维成本爆炸
- 分布式事务难搞,最终一致性改成 saga,代码复杂度翻倍
- 跨服务调试地狱,一个请求跨 5 个服务看日志
**回归模块化单体后:**
- 按业务模块分目录,模块间通过 interface 调用
- 共享 DB 但按 schema 隔离
- 部署从 30 个服务变 1 个,CI/CD 简单太多
- 性能反而更好,没有网络开销
**结论:**
- 团队 < 50 人别上微服务
- 流量 < 10 万 QPS 别上微服务
- 模块化单体是 90% 团队的最佳选择
DZ、WP 都是模块化单体,没那么落后。
**微服务踩的坑:**
- 30 个服务,每个都要部署/监控/日志,运维成本爆炸
- 分布式事务难搞,最终一致性改成 saga,代码复杂度翻倍
- 跨服务调试地狱,一个请求跨 5 个服务看日志
**回归模块化单体后:**
- 按业务模块分目录,模块间通过 interface 调用
- 共享 DB 但按 schema 隔离
- 部署从 30 个服务变 1 个,CI/CD 简单太多
- 性能反而更好,没有网络开销
**结论:**
- 团队 < 50 人别上微服务
- 流量 < 10 万 QPS 别上微服务
- 模块化单体是 90% 团队的最佳选择
DZ、WP 都是模块化单体,没那么落后。
댓글 (4)
로그인 to comment
袁媛22
2026-07-24
这个方法我试试,谢谢
科技达人
2026-09-08
深有体会。我们公司也拆过微服务,3 个开发搞 8 个服务,天天开会都对不齐。最后合并回单体,效率提升 3 倍。
电商运营
2026-09-08
团队规模这点太对了。10 人以下老老实实单体,别听云厂商忽悠上微服务买 K8s。
蔡明41
2026-09-13
期待楼主更多分享
댓글 (4)