一、先回答核心问题问题答案是否应该无脑选 Spring Cloud 微服务?不应该。微服务解决的是"团队规模 + 业务复杂度"问题,不是技术先进性问题Spring Boot 单体为什么仍是首选?开发快、部署简单、调试方便、事务一致性强、运维成本低单体架构的边界在哪?当日活、团队规模、迭代频率、故障隔离需求超过单体能承受的范围时,才考虑拆分一句话决策线:日活几万以内、团队 10 人以内、业务边界清晰 → Spring Boot 单体足够。日活几十万以上、多团队并行、模块需独立扩容 → 再上 Spring Cloud。二、单体服务系统详细分层架构图说明:下图是日活几十万以上才需要完整用到的组件。若日活只有几万或更低,可直接放弃部分组件(如 Nacos、Sentinel、Seata、ES)。┌─────────────────────────────────────────────────────────┐ │ 客户端层 │ │ PC 浏览器 手机 H5 / 微信内 │ └───────────────────────┬─────────────────────────────────┘ │ HTTP ┌───────────────────────▼─────────────────────────────────┐ │ API 网关层 │ │ 路由 / 鉴权(Spring Security + JWT/OAuth2) │ └───────────────────────┬─────────────────────────────────┘ │ ┌───────────────────────▼─────────────────────────────────┐ │ 服务层 │ │ Spring Boot 3.2.x(基础框架) │ │ ├── 服务注册/配置:Nacos 2.3.2 │ │ ├── 服务治理:Sentinel 1.8.6 │ │ └── 分布式事务:Seata 2.0.0(按需) │ └───────────────────────┬─────────────────────────────────┘ │ ┌───────────────────────▼─────────────────────────────────┐ │ 数据持久层 │ │ MyBatis-Plus 3.5.4+ │ └───────────────────────┬─────────────────────────────────┘ │ ┌───────────────────────▼─────────────────────────────────┐ │ 数据层 │ │ MySQL 8.0+ │ Redis 7.x │ RocketMQ 5.1.4 │ ES 8.x │ └───────────────────────┬─────────────────────────────────┘ │ ┌───────────────────────▼─────────────────────────────────┐ │ 基础设施层 │ │ Kubernetes 1.28+ │ ELK 8.x / Loki │ 日志采集 │ └─