聊聊目前最新的SpringCloud 2020.0 系列的重大更新,再见了Netflix

由于最近使用了目前最新的 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.6
  • Spring Boot:2.5.0
  • Spring Cloud:2020.0.3
  • Tomcat: 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-archaius
  • spring-cloud-netflix-concurrency-limits
  • spring-cloud-netflix-core
  • spring-cloud-netflix-dependencies
  • spring-cloud-netflix-hystrix
  • spring-cloud-netflix-hystrix-contract
  • spring-cloud-netflix-hystrix-dashboard
  • spring-cloud-netflix-hystrix-stream
  • spring-cloud-netflix-ribbon
  • spring-cloud-netflix-sidecar
  • spring-cloud-netflix-turbine
  • spring-cloud-netflix-turbine-stream
  • spring-cloud-netflix-zuul
  • spring-cloud-starter-netflix-archaius
  • spring-cloud-starter-netflix-hystrix
  • spring-cloud-starter-netflix-hystrix-dashboard
  • spring-cloud-starter-netflix-ribbon
  • spring-cloud-starter-netflix-turbine
  • spring-cloud-starter-netflix-turbine-stream
  • spring-cloud-starter-netflix-zuul
  • Support for ribbon, hystrix and zuul was removed across the release train projects.

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

 

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

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值