springcloud
ddatsh
你对Spring Cloud多了解源自于你对Spring Boot有多了解
你对Spring Boot多了解源自于你对Spring Framework有多了解
Spring Cloud是什么
一系列框架的有序集合,基于 Spring Boot,主要还是在 JVM 范畴内来解决微服务架构的挑战
利用Spring Boot的开发便利性简化分布式系统基础设施的开发,如:
服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署
将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来
通过Spring Boot风格进行再封装屏蔽掉复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包
总结来说,Spring Cloud 的思路就是,已经有的我拿来用,实在没有的我再补充
相对于 Dubbo 来说,是整合了整套解决方案的框架,而 Dubbo 只是其中的一个点
版本对应关系
Release Train | 发布时间 | Spring Boot版本 | SC Commons版本 | 维护信息 | 主要版本 |
---|---|---|---|---|---|
2020.0.x | 2020-12 | 2.4.x | 3.0.0 | 按计划支持到2023-12 | 是 |
Hoxton | 2019-07 | 2.2.x, 2.3.x (从SR5起) | 2.2.x | Finchley系列次要版本,常规维护到2021-6 2020-07特殊维护期(不加新功能,只改紧急bug) 2021-12只发布重大错误/安全补丁 |
|
Greenwich | 2018-11 | 2.1.x | 2.1.x | 2020-01停止维护 2020-12-31终结特殊维护期 |
|
Finchley | 2017-10 | 2.0.x | 2.0.x | 2018发布 | 是 |
Edgware | 2017-08 | 1.5.x | 1.3.x | ||
Dalston | 2017-05 | 1.5.x | 1.2.x | ||
Brixton | 2016-09 | 1.3.x | 1.1.x | ||
Angel | 2016-05 | 1.2.x | 1.0.x |
版本号规则变更适用于所有Spring技术栈,Spring Framework、Spring Boot、Spring Cloud、Spring Data…
spring-cloud-starter-loadbalancer
随Spring Cloud Commons 2.2.0开始(Hoxton),它替代了Ribbon
Pivotal OSS support policy
主要版本 3年支持。主或次要版本发布后,严重bug和安全问题,再维护一段时间(6-12个月)
阻断式升级(不向下兼容)
Spring Cloud Netflix进入维护模式,2020完全移除
Netflix 2018宣布核心组件Hystrix、Ribbon、Zuul、Archaius等均进入维护状态
Zuul 2.x,Archaius 2.x均不向下兼容,无法平滑升级,几乎等于无法使用
Spring Cloud 2020.0.0 彻底删除掉Netflix除Eureka外的所有组件(Ribbon,Hystrix,Zuul…)
Netflix | 推荐替代 | 说明 |
---|---|---|
Hystrix | Resilience4j | Hystrix自己也推荐你使用它代替自己 |
Hystrix Dashboard / Turbine | Micrometer + Monitoring System | 监控这件事交给更专业的组件去做 |
Ribbon | Spring Cloud Loadbalancer | Spring亲自出手 |
Zuul 1 | Spring Cloud Gateway | Spring亲自出手 |
Archaius 1 | Spring Boot外部化配置 + Spring Cloud配置 | 比Netflix实现的更好、更强大 |
Spring Cloud LoadBalancer首次引入在Spring Cloud Commons 2.2.0(Hoxton),默认依旧是Ribbon挑大梁
Hoxton:LoadBalancerClient 有两个实现,Spring Cloud 2020.0后,BlockingLoadBalancerClient就是唯一实现了
mvn spring-boot:run -Dspring-boot.run.arguments=--spring.cloud.bootstrap.enabled=true