irpas技术客

聊聊目前最新的SpringCloud 2020.0 系列的重大更新,再见了Netflix_扬帆起航艺

网络 8438

由于最近使用了目前最新的 Springboot 2.5.0-RC1,在整合 SpringCloud 2020.0.3版本 过程中,发现了版本似乎进行了巨大的更新(确实很久没有关注过Spring了。。。)!

整体了解了下,顺便和大家也聊一聊这次更新吧,本周还准备在发一篇SpringCloud组件源码级分析,带领大家手撕源码 ^ - ^

(截止稿前 2021/04/23 官方还未同步标注好当前最新版本为2020.0.3,实际上Springboot 2.5.0稳定版本已经默认集成该版本)

?

先简单聊聊目前Spring版本的一些更新

?

1、命名规则

之前的Spring Cloud的Release Train名称采用的是伦敦地铁站命名方式,如:Hoxton、Greenwich等。后来发现这种命名方式很让人迷糊,到底版本之间的顺序是什么样子的?后来就改为这种日历模式,挺好的。

?

2、版本约定(列举个别重要的)

Spring Framework:5.3.6Spring Boot:2.5.0Spring Cloud:2020.0.3Tomcat: 9.0.45

?

3、阻断式升级(不向下兼容)

差不多在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,但它们均不能向下兼容,无法平滑升级,因此几乎等于无法使用

所以他来了,Spring Cloud 2020.0版本正式发布,基本将Netflix的东西都砍完了,除了Eureka,目前还保留下来的组件好像就剩Fegin了,这还是因为Feign虽然最初属Netflix公司,但从9.x版本开始就移交给OpenFeign组织管理了,因此不再划入Netflix管辖范畴,我们在项目中导入也变成了spring-cloud-starter-openfeign

?

保留组件:

<!-- Eureka --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <!-- Fegin --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>

?

4、替代品

SpringCloud在官网上宣布将以如下内容替代Netflix的东西

当前组件

替代品

Hystrix

Resilience4j

Hystrix Dashboard / Turbine

Micrometer + Monitoring System

Ribbon

Spring Cloud Loadbalancer

Zuul 1

Spring Cloud Gateway

Archaius 1

Spring Boot external config + Spring Cloud Config

?

5、如所Spring官方宣布的一样,以下模块已从spring-cloud-netflix中删除:

spring-cloud-netflix-archaiusspring-cloud-netflix-concurrency-limitsspring-cloud-netflix-corespring-cloud-netflix-dependenciesspring-cloud-netflix-hystrixspring-cloud-netflix-hystrix-contractspring-cloud-netflix-hystrix-dashboardspring-cloud-netflix-hystrix-streamspring-cloud-netflix-ribbonspring-cloud-netflix-sidecarspring-cloud-netflix-turbinespring-cloud-netflix-turbine-streamspring-cloud-netflix-zuulspring-cloud-starter-netflix-archaiusspring-cloud-starter-netflix-hystrixspring-cloud-starter-netflix-hystrix-dashboardspring-cloud-starter-netflix-ribbonspring-cloud-starter-netflix-turbinespring-cloud-starter-netflix-turbine-streamspring-cloud-starter-netflix-zuulSupport for ribbon, hystrix and zuul was removed across the release train projects.

ok,说了这么多 也差不多把目前我觉得比较重大的改变都提了一嘴,下一篇准备开始手撕源码,哈哈哈。

?

有兴趣可以关注下公众号哦


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #20200 #系列的重大更新 #再见了Netflix #由于最近使用了目前最新的 #springboot #250RC1在整合 #springcloud