
Spring Boot vs Spring Cloud
- Spring Boot:把一个服务跑起来(自动配置、嵌入式容器)。
- Spring Cloud:把多个服务 治理 起来(发现、路由、配置、熔断、链路追踪)。
关系:Cloud 构建在 Boot 之上,每个微服务仍是一个 Spring Boot 应用。

核心组件对照
| 能力 | 常见实现 | 作用 |
|---|---|---|
| 注册发现 | Nacos、Eureka | 实例上下线、健康检查 |
| 配置中心 | Nacos Config、Spring Cloud Config | 集中配置、动态刷新 |
| 网关 | Spring Cloud Gateway | 路由、限流、鉴权、聚合 |
| 客户端负载 | Spring Cloud LoadBalancer | 替代 Ribbon |
| 声明式调用 | OpenFeign | 服务间 HTTP |
| 熔断限流 | Sentinel、Resilience4j | 防止雪崩 |
| 链路追踪 | Micrometer Tracing + Zipkin/Jaeger | traceId 贯穿 |
一次跨服务调用

注意:网关只做边缘,服务间仍可能直连(Feign)。内部调用也要 传递 traceId(MDC / Observation API)。
数据怎么拆
微服务 ≠ 只有一个数据库。原则:
- 每服务独立 schema(理想情况独立库);
- 跨服务数据用 API 或事件,不要跨库 join;
- 读模型可用 CQRS / 搜索索引(Elasticsearch)。
什么时候别上 Spring Cloud
- 团队 < 5 人、业务边界还在变 → 模块化单体(本博客 Nest 路线)更省 ops;
- QPS 低、无多团队并行 → 注册中心是负担;
- 强事务跨多个业务 → 先拆领域,别先拆部署。
小结
Spring Cloud 解决的是 「多实例、多服务、多环境」的协调成本。先画全景图,再选 3 个组件落地(通常:Gateway + Nacos + Sentinel),比一次堆满更可维护。
参考:Spring Cloud 官方 · 作者微服务落地经验。