Spring Boot vs Spring Cloud核心区别
Spring Boot:快速构建独立的、生产级别的 Spring 应用
- 核心目标:简化 Spring 应用的初始搭建和开发
- 关键特性:内嵌 Tomcat/Jetty、自动配置(Auto-Configuration)、** starter 依赖**
- 定位:单体应用开发框架
- 一句话:让你用最少配置跑起一个 Spring 应用
Spring Cloud:基于 Spring Boot 的微服务解决方案
- 核心目标:解决微服务架构中的分布式问题
- 关键组件:
- 服务发现(Eureka / Nacos)
- 负载均衡(Ribbon / Spring Cloud LoadBalancer)
- 网关(Spring Cloud Gateway)
- 熔断降级(Resilience4j / Sentinel)
- 配置中心(Config / Nacos)
- 分布式追踪(Sleuth / Micrometer Tracing)
- 分布式事务 / 消息驱动等
- 定位:微服务治理框架
- 一句话:让你管理一堆 Spring Boot 应用组成的分布式系统
关系:
Spring Cloud 依赖 Spring Boot,两者是互补而非替代关系。通常一起使用:Spring Boot 负责”写应用”,Spring Cloud 负责”管分布式”。
| 维度 | Spring Boot | Spring Cloud |
|---|---|---|
| 层级 | 基础框架 | 上层微服务治理 |
| 关注点 | 单个应用 | 多个应用之间的协作 |
| 场景 | 单体/独立服务 | 微服务架构 |
| 依赖 | 不依赖 Spring Cloud | 必须依赖 Spring Boot |
简单说:先有 Spring Boot 应用,再用 Spring Cloud 把它们组织成微服务体系。