spring boot 和 spring cloud 的区别

核心区别:

spring Boot 是用于快速构建单个、可独立运城的Spring 应用的工具;

spring Cloud 是基于Spring Boot 构建的用于协调和管理多个微服务(即多个Spring Boot 应用)的微服务生态套件。

分点详细对比

维度 Spring Boot Spring Cloud
核心定位 应用开发框架 微服务治理框架集
主要目标 简化单个Spring 应用的配置和开发,实现"开箱即用 解决分布式系统(微服务架构),如服务发现、配置管理等
作用范围 单个微服务内部。关注如何把这个服务做得健壮、易开发 多个微服务只见。关注服务如何被发现、调用 、监控和容错。
关键功能 自动配置、起步依赖、内嵌 Web服务器、Actuator监控端点。 服务发现与注册、客户端负载均衡、分布式配置、Api网关、熔断器、分布式链路追踪等。
依赖关系 可以独立使用,创建任何Spring 应用(不一定是微服务) 强依赖于Spring Boot。它的每个组件通常都是一个Spring Boot 应用或基于Boot的库。
类比 制作一块乐高积木(让积木本身坚固、标准) 提供连接器、图纸和规则,将很多积木组装成一个宏伟的模型。

更深入的理解:

1、Spring Boot : 微服务的基础单元

在微服务架构中,我们通常会使用Spring Boot 来开发和打包每一个独立的微服务。因为他能快速生成一个Servlet容器(如Tomcat)的JAR 包,这个"单体"应用可以独立运行,这正好符合微服务"独立部署的核心要求"。所以。Spring Boot 是构建单个微服务的首选框架。

2、Spring Cloud:微服务系统的粘合剂和治理工具

当系统被拆分成多个 Boot服务后,会产生一些列新问题:服务只见如何互相找到?(服务发现/注册中心 如 Eureka/nacos)调用失败怎么办?(熔断器/Hystrix/Sentinel)配置如何统一管理?(配置中心 ,如config/Nacos)这些是Spring Cloud 要解决的。它提供了一套标准模式和工具集,将一系列成熟的分布式服务治理方案(如Netflix Oss、Alibaba组件)与Spring Boot 进行了优雅的集成。

Spring cloud 都有哪些组件,每个组件的作用

1、服务注册与发现

Eureka
作用 :服务注册中心,负责服务的注册与发现
功能 :服务提供者启动时向Eureka 注册,消费者通过Eureka获取服务列表,实现动态服务调用。
替代组件:Nacos、consul、Zookeeper

Nacos
作用 :集服务注册、配置管理于一体。
特点:只吃动态配置更新、服务健康检测,适用于云原生场景。

2、服务调用与负载均衡

Ribbon
作用 :客户端负载均衡器,在服务调用时自动选择可用服务实例。
集成:通常与RestTemplate 或 OpenFeign 配合使用。

OpenFeign
作用 :声明式的Http 客户端,通过接口注解简化服务调用。
特点: 整合Ribbon 实现负载均衡,支持熔断降级。

3、服务熔断与降级

Hystrix
作用 :实现熔断、降级、资源隔离,防止服务雪崩。
功能 :当服务调用失败率超过阀值时熔断,快速失败或执行降级逻辑。
替代组件:Sentinel、Resilience4j

Sentinel
作用 :面向云原生的流量控制、熔断降级组件。
特点:支持实时监控、规则动态配置,与Spring CLoud 生态集成较好。

4、服务网关

Spring Cloud Gateway
作用 :Api 网关,统一路由,过滤、鉴权等。
特点 : 基于WebFlux 响应式编程,支持动态路由、限流、熔断。
替代组件:Zuul(已进入维护模式)

5、分布式配置管理

Spring Cloud Config
作用 :集中化管理微服务配置,支持动态刷新。
缺点 :需配合消息总线(如BUs)实现批量刷新,配置存储在Git/SVN
替代方案:Nacos Config、Apollo

6、 消息驱动

Spring Cloud Stream
作用 :简化消息中间件(如kafka、RabbitMQ)的使用。
特点:通过Binder 抽象屏蔽底层中间件差异,实现时间驱动架构。

7、分布式链路追踪

Spring Cloud Sleuth
作用 :为微服务调用生成分布式追踪ID(TraceId、SpanId),用于链路分析。
搭配:通常与zipkin 集成,可视化调用链路。

ZipKin
作用 :

收集和展示分布式系统的调用链路数据,帮助定位性能瓶颈。

8、消息总线

Spring Cloud BUs
作用 :通过消息代理(如Ribbon、Kafka)广播配置更新事件,实现配置动态刷新。
典型场景:配合Config 实现批量服务配置更新。

9、安全控制

Spring cloud Security
作用 :基于OAuth2 和JWT 提供微服务安全架构。
功能:统一认证授权、资源服务器保护。

10、分布式事务

Seata
作用 :高性能分布式事务解决方案,支持AT、TCC 等模式。
集成:Spring Cloud Alibaba 生态的核心组件之一。

11、其他重要组件

Spring Cloud Alibaba
定位 :为Spring Cloud 提供阿里云生态组件。
包含 :Nacos(注册/配置)、Sentinel(流量控制)、Seata(分布式事务)等。

Spring Cloud Kubernetes
作用: 将Spring Cloud 与 Kubernetes集成,利用K8s的服务发现、配置管理等能力。

相关推荐
我怎么想不到2 小时前
SpringBoot单体多模块项目环境搭建
后端
期待のcode2 小时前
MyBatis-Plus通用枚举
java·数据库·后端·mybatis·springboot
暹罗软件开发2 小时前
多线程协作利器:CountDownLatch 核心用法与场景解析
后端
天天摸鱼的java工程师2 小时前
支付回调处理,咱得整得 “幂等可靠” 不翻车
java·后端
踏浪无痕2 小时前
高并发写入 API 设计:借鉴 NSQ 的内存队列与背压机制
后端·面试·go
⑩-2 小时前
Spring 事务失效
java·后端·spring
BingoGo2 小时前
告别 Shell 脚本:用 Laravel Envoy 实现干净可复用的部署
后端
Cache技术分享2 小时前
267. Java 集合 - Java 开发必看:ArrayList 与 LinkedList 的全方位对比及选择建议
前端·后端
用户8307196840822 小时前
Spring Boot JWT登录授权使用指南(无感刷新)
java·spring boot