直接回答
单体架构被低估的优点在于:它把复杂度留在进程内——本地方法调用代替网络 RPC、单一数据库保证 ACID 事务、一次部署一个制品、本地即可完整运行和调试。对大多数中小规模系统,这些简单性直接转化为更高的开发效率、更低的运维成本和更少的事故面。
展开解析
具体优势:事务与一致性简单,跨模块操作一个数据库事务就能保证,不需要 Saga 那套补偿机制;调用可靠且快,没有网络超时、序列化开销和分布式追踪负担;部署运维简单,一个进程、一份配置、一套监控,不需要注册发现、网关、编排等基础设施;重构友好,模块边界调整是改代码而非跨团队协调接口版本;新人本机起整个系统即可开发。常被忽略的是,单体的问题(耦合、发布互相牵制)多源于缺少模块纪律而非单体本身——按业务域划分模块、模块间只暴露接口、各自拥有数据表的"模块化单体",能获得微服务的大部分好处而不付分布式的税。拆分应是被规模和团队结构逼出来的演进,而非起点。追问:模块化单体如何落地边界约束(包结构/构建模块/ArchUnit)、什么信号说明该拆第一个服务。