概念定义
微服务有用的部分是“限界上下文加显式契约”,昂贵的部分是“分布”。模块化单体保留前者、拒绝后者,一个进程内拿到边界与契约的全部好处。
工作机制
模块封装领域与数据;跨模块访问只走公共接口——仍是进程内调用,但跨的是 CI 依赖检查强制的架构边界;模块自有的表配 schema 访问规则。事务一致性留在本地,这是相对分布式最大的简化。
使用场景
中小团队、可干净切分的领域、垂直扩容就能满足的规模。抽取路径保留:某模块 API 变热可以日后成服务,模块 API 就是现成接缝。
常见误区
有文件夹不等于模块化:没有规则的目录会退化成大泥球;共享库 schema 会重建模块要防止的耦合。边界侵蚀是渐进的——一次顺手的 import、一张共享表,模块线就成了虚构,所以强制必须自动化。“团队守纪律”不可持续,招聘扩张的那一刻纪律就稀释。进程内调用还诱使同步链条过长——即使单体也要在模块内部设计异步接缝。