Spring Cloud 2020.0.3正式发布
Spring Cloud版本管理
版本管理对于软件开发来说太重要,在Spring Boot出现之前依赖关系、版本管理让人着实头大(即使有Spring BOM存在),特别是当出现版本不适配时很容易就偷走你一下午甚至一整天的时间。
Spring Cloud作为上层应用框架,底层版本匹配了才能正常work,其中最主要就是和Spring Boot的版本号要对齐。
与Spring Boot版本对应关系
Spring Boot的出现和流行大大缓解了上述些情况,但使用起Spring Cloud时它和Spring Boot的版本对应关系依旧是需要特别关注的。为此我帮你总结出了这个表格:
Release Train | 发布时间 | Spring Boot版本 | SC Commons版本 |
---|---|---|---|
**2020.0.x ** aka Ilford | 2020-12 | 2.4.x, 2.5.x (Starting with 2020.0.3) | 3.0.0 |
Hoxton | 2019-07 | 2.2.x, 2.3.x (从SR5起) | 2.2.x |
Greenwich | 2018-11 | 2.1.x | 2.1.x |
Finchley | 2017-10 | 2.0.x | 2.0.x |
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-cloud-starter-loadbalancer
是伴随着Spring Cloud Commons 2.2.0版本才开始商用的(Hoxton版本),这个版本节点请稍微关注下,因为它替代了Ribbon。
当前支持的版本
Spring Cloud遵循Pivotal OSS support policy 协议对主要版本提供3年的支持。此外,在Spring Cloud的主要或次要版本发布后,若存在严重的bug和安全问题,就会再维护一段时间(6-12个月不等)。
特别注意:这里指的主要版本才是3年,主要版本可不常有的哦
现在2020.0.0版本已发布,又到了淘汰的时候。现在Spring Cloud官方还会支持的版本有:
-
2020.0版本
:(支持Spring Boot 2.4.x)它是
主要版本
,按计划会支持到2023年12月份
- 它是自Finchley后的又一主要版本
-
Hoxton版本:(支持Spring Boot 2.2.x和2.3.x)作为Finchley发行系列的一个次要版本,它的常规维护将持续到2021年6月底。从2020-07开始进入到特殊维护期(不加新功能,只改紧急bug),2021-12月底就只会发布重大错误/安全补丁了
-
Greenwich版本:(支持Spring Boot 2.1.x)2020-01就停止维护了,2020-12-31号也将终结它的特殊维护期
-
Finchley版本:(支持Spring Boot 2.0.x)它是一个主要版本的开始,2018年发布
-
更老版本:忘了吧
Spring官方建议:尽量使用最新版本。不过建议归建议,作为只使用晚期大众技术的我们,坐在第二排甚至第三排看戏才有安全感。但历史的巨浪总归会把前排淘汰,因此早点做足准备总是好的,不至于时至被推至前排时只能裸泳。
Spring Cloud 2020.0作为一个主要版本,带来了众多显著的变化,其中进行了一些阻断式更新(不向下兼容)是本文最大看点,来吧上菜。
阻断式升级(不向下兼容)
差不多在去年(2019年)的这个时候,Spring Cloud在其Roadmap(之前文章有介绍过)里就宣布将要终结的一些库/版本,其中最重要的就是指Spring Cloud Netflix项目进入维护模式,然后计划在2020年完全移除。
Spring Cloud做出这样的决定其实也是“被迫的”。我们知道Spring Cloud一直以来把Netflix OSS
套件作为其官方默认的一站式解决方案,那时的Netflix OSS套件恨不得可以跟Spring Cloud划等号。奈何呀,Netflix公司在2018年前后宣布其核心组件Hystrix、Ribbon、Zuul、Archaius等均进入维护状态。
虽然有Zuul 2.x,Archaius 2.x,但它们均不能向下兼容,无法平滑升级,因此几乎等于无法使用
从2018年至今处于维护状态的模块有(包括其对应的starter,此处并未列出):
- spring-cloud-netflix-archaius
- spring-cloud-netflix-hystrix-contract
- spring-cloud-netflix-hystrix-dashboard
- spring-cloud-netflix-hystrix-stream
- spring-cloud-netflix-hystrix
- spring-cloud-netflix-ribbon
- spring-cloud-netflix-turbine-stream
- spring-cloud-netflix-turbine
- spring-cloud-netflix-zuul
参考文章:
https://spring.io/blog/2020/12/22/spring-cloud-2020-0-0-aka-ilford-is-available
https://www.cnblogs.com/yourbatman/p/14182433.html
https://mp.weixin.qq.com/s?biz=MzI0MTUwOTgyOQ==&mid=2247491258&idx=1&sn=f319c2be4ecc81047460da0925c6214e&chksm=e90b2a10de7ca3066af03cf462bda0580e681d266296a80d4d037c1fe96870cc2ef5fe8e3d93&scene=178&cur_album_id=1608175058441551875#rd