二、SpringCloud综述

SpringCloud是一系列框架的有序集合,简化了微服务架构的开发,提供了服务发现注册、配置中心等功能。它不是单一框架,而是一套规范,包括Netflix和阿里巴巴等第三方组件。SpringCloud解决了微服务架构中的服务注册发现、网络、统一认证安全授权等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

二、SpringCloud综述

1. SpringCloud是什么

[百度百科]Spring Cloud是⼀系列框架的有序集合。它利⽤Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中⼼、消息总线、负载均衡、断路器、数据监控等,都可以⽤ Spring Boot的开发⻛格做到⼀键启动和部署。 Spring Cloud并没有重复制造轮⼦,它只是将⽬前各家公司开发的⽐较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot⻛格进⾏再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了⼀套简单易懂、易部署和易维护的分布式系统开发⼯具包

SpringCloud是一系列框架的有序集合(SpringCloud是一个规范)

开发服务发现注册、配置中心、消息总线、负载均衡、熔断器、数据监控等。

利用SpringBoot的开发遍历性简化了微服务架构的开发(自动装配)

这⾥,我们需要注意, Spring Cloud其实是⼀套规范,是⼀套⽤于构建微服务架构的规范,⽽不是⼀个可以拿来即⽤的框架(所谓规范就是应该有哪些功能组件,然后组件之间怎么配合,共同完成什么事情)。在这个规范之下第三⽅的Netflix公司开发了⼀些组件、 Spring官⽅开发了⼀些框架/组件,包括第三⽅的阿⾥巴巴开发了⼀套框架/组件集合Spring Cloud Alibaba,这些才是Spring Cloud规范的实现。

Netflix搞了⼀套 简称SCN,Spring Cloud 吸收了Netflix公司的产品基础之上⾃⼰也搞了⼏个组件

阿⾥巴巴在之前的基础上搞出了⼀堆微服务组件,Spring Cloud Alibaba(SCA)

2.SpringCloud解决什么问题

微服务架构实施过程中存在的⼀些问题,⽐如微服务架构中的服务注册发现问题、⽹络问题(⽐如熔断场景)、统⼀认证安全授权问题、负载均衡问题、链路追踪等问题

3.SpringCloud架构

Spring Cloud ⽣态圈中的组件,按照发展可以分为第⼀代 Spring Cloud组件和第⼆代 Spring Cloud组件。

第一代SpringCloud(Netflix,SCN)第二代SpringCloud(主要就是SpringCloud Alibaba,SCA)
注册中心Netflix Eureka阿⾥巴巴 Nacos
客户端负载均衡Netflix Ribbon阿⾥巴巴 Dubbo LB、 SpringCloud Loadbalancer
熔断器Netflix Hystrix阿⾥巴巴 Sentinel
网关Netflix Zuul:性能⼀般,未来将退出Spring Cloud ⽣态圈官⽅ Spring Cloud Gateway
配置中心官⽅ Spring Cloud Config阿⾥巴巴 Nacos、携程 Apollo
服务调用Netflix Feign阿⾥巴巴 Dubbo RPC
消息驱动官⽅ Spring Cloud Stream
链路追踪官⽅ Spring Cloud Sleuth/Zipkin
阿⾥巴巴 seata 分布式事务⽅案

4.SpringCloud体系结构(组件协同工作机制)

在这里插入图片描述

SpringCloud中的各组件协同工作,才能够支持一个完整的微服务架构。比如

  • 注册中心负责服务的注册与发现,很好将各服务连接起来。
  • API网关负责转发所有外来的请求。
  • 断路器负责监控服务之间的调用情况,连续多次失败进行熔断保护。
  • 配置中心提供了统一的配置信息管理服务,可以实时的通知各个服务获取最新的配置信息。

5.SpringCloud与Dubbo对比

Dubbo是阿⾥巴巴公司开源的⼀个⾼性能优秀的服务框架,基于RPC调⽤,对于⽬前使⽤率较⾼的Spring Cloud Netflix来说,它是基于HTTP的,所以效率上没有Dubbo⾼,但问题在于Dubbo体系的组件不全,不能够提供⼀站式解决⽅案,⽐如服务注册与发现需要借助于Zookeeper等实现,⽽Spring Cloud Netflix则是真正的提供了⼀站式服务化解决⽅案,且有Spring⼤家族背景。

前些年, Dubbo使⽤率⾼于SpringCloud,但⽬前Spring Cloud在服务化/微服务解
决⽅案中已经有了⾮常好的发展趋势。

6.SpringCloud与SpringBoot的关系

Spring Cloud 只是利⽤了Spring Boot 的特点,让我们能够快速的实现微服务组件开发,否则不使⽤Spring Boot的话,我们在使⽤Spring Cloud时,每⼀个组件的相关Jar包都需要我们⾃⼰导⼊配置以及需要开发⼈员考虑兼容性等各种情况。所以Spring Boot是我们快速把Spring Cloud微服务技术应⽤起来的⼀种⽅式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

莫逸风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值