Spring Cloud官方介绍
Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的一些常见模式(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌,全局锁,领导选举,分布式会话,群集状态)。分布式系统的协调产生了样板模式,并且使用Spring Cloud开发人员可以快速站起来实现这些样板的服务和应用程序。它们将在任何分布式环境中都能很好地工作,包括开发人员自己的笔记本电脑,裸机数据中心以及Cloud Foundry等托管平台。
百度百科介绍
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
Spring Cloud特点
Spring Cloud专注于为典型的用例和扩展机制提供良好的开箱即用体验,如下:
1、分布式/版本化配置
2、服务注册和发现
3、路由
4、服务到服务的呼叫
负载均衡
5、断路器
6、分布式消息传递
Spring Cloud主要项目
Spring Cloud Netflix
是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。与各种Netflix OSS组件(Eureka, Hystrix, Zuul, Archaius等)集成。
Spring Cloud Config
将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件
Spring Cloud Bus
事件总线,用于将服务和服务实例与分布式消息传递链接在一起。用于在集群中传播状态更改(例如配置更改事件)。
Spring Cloud Security
对Spring Security的封装,并能配合Netflix使用。在Zuul代理中提供对OAuth2 rest客户端和身份验证头中继的支持。
Spring Cloud Zookeeper
对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用。
Spring Cloud Eureka
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能。
Spring Cloud Consul
用于服务的发现和配置管理。Consul 是 HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置。
Spring Cloud与 Spring Boot的版本兼容
由于Spring Cloud基于Spring Boot构建,所以我们必须知道Spring Cloud和Spring Boot的版本兼容性。
因为Spring Cloud需要与对应的Spring Boot配合使用才能生效,如果版本不一样,是不能使用的。
比如Dalston和Edgware发行版本是建立在Spring Boot 1.5.x上,并且不能与Spring Boot 2.0.x一起使用。
而Greenwich可以构建并与Spring Boot 2.1.x一起使用,不能与Spring Boot 1.5.x一起使用。
以下是Spring Cloud对应的Spring Boot版本
最新的Spring Boot2.3.1对应的Spring Cloud版本为Hoxton.SR6
注:Spring Cloud的版本名称是伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序。比如:最早的Release版本:Angel,第二个Release版本:Brixton,然后是Camden、Dalston、Edgware、Finchley…等。
版本号说明
SNAPSHOT: 快照版本,随时可能修改
M: MileStone,M1表示第1个里程碑版本,一般同时标注PRE,表示预览版版。
SR: Service Release,SR1表示第1个正式版本,一般同时标注GA:
GA:(GenerallyAvailable),表示稳定版本。
RELEASE:发行版,没有太大的问题。