✍正文
Spring Cloud 2021.0.0版本的pom依赖:
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>2021.0.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
值得注意的是,Spring Boot版本请使用2.6.1及以上,而非2.6.0。
尴尬不,这和Spring Cloud 2020.0.0依赖的最低Spring Boot版本为2.5.1而非2.5.0如出一辙。即使强如Spring技术团队都会因为bug导致出现这种“对不齐”的现象,洁癖患者看着着实有点小难受有木有。所以,程序员平时多多宽容自己O(∩_∩)O
老生常谈
关于Spring Cloud,每每都有些老生常谈的议题,很基础,但又不得不知,不得不提。
✌和Spring Boot的对应关系
Spring Cloud作为云计算框架,以Spring Boot作为基石,因此它和Spring Boot的版本对应关系非常重要。
这是官方给出的对应关系图:
我把它整理为更为详细的表格:
、
按目前节奏,Spring Boot每年发布2个中版本、一个大版本升级,Spring Cloud保持每年一次大版本升级的用以匹配节奏。
✌版本管理
Spring Cloud管理着众多功能组件,整体上分为几大类。从源码处这里可以看出,以2021.0.0版本为例:
笔者制作成表格,方便你收藏:
发现没,如果团队正在使用kubernetes,那么spring-cloud-kubernetes也将是不错的解决方案哦,类似于Netflix的全家桶嘛。
✌当前支持的版本
Pivotal公司(Spring的母公司)对核心产品有个OSS支持协议,简而言之:主要版本提供3年支持,Spring Cloud作为Java领域云计算框架遵循了此协议。
特别注意:这里指的主要版本才是3年,主要版本可不常有的哦
每每新版本发布,就会有一些老版本需要退位让贤。2021.0.0版本已发布,各版本的官方支持情况如下:
- 2021.0版本:他不算一个主要版本,但作为2020.0这个主要版本的升级版,是当前最被推荐使用的
- 2020.0版本:他是一个主要版本。按计划会支持到2023年12月份
- Hoxton版本:(支持Spring Boot 2.2.x和2.3.x)作为Finchley发行系列的一个次要版本,它的常规维护将持续到2021年6月底。从2020-07开始进入到特殊维护期(不加新功能,只改紧急bug),2021-12月底就只会发布重大错误/安全补丁了。2022-2-28彻底结束支持
- Greenwich版本 :(支持Spring Boot 2.1.x)2020-01就停止维护了,2020年过完就结束生命周期
- Finchley版本 :(支持Spring Boot 2.0.x)它是一个主要版本的开始,2018年发布,2021年过完生命周期也就结束了
- 更老版本 :嗯,忘了吧
新特性
作为主要版本2020.0.0的常规升级版本,这次动作肯定没有上个版本那么大,稍微关注下即可。
✌Spring Cloud Commons
支持为每个Load-balancer(负载均衡器)配置参数,相关代码在LoadBalancerClientsProperties这里。
该特性同时也添加到了Gateway、Contract 和Openfeign项目中。
✌Spring Cloud Config
集成了AWS Secrets Manager、AWS Parameter Store 和 GCP Secret Manager。
这个没啥好说的,毕竟我天朝里配置中心,真有使用Spring Cloud Config的吗?
✌Spring Cloud Gateway
作为Spring Cloud非常非常亮眼、常用的组件,这个升级还是可圈可点的:功能更丰富了。
- 支持 Redis 路由存储库。也就是新增的RedisRouteDefinitionRepository这个实现类喽
- 支持 HTTP 2。
- 支持 gRPC。
✌Spring Cloud Openfeign
支持@Cachable缓存注解,这个必须点赞,很方便很实用!
支持此新功能的核心API为:FeignCachingInvocationHandlerFactory,复用了Spring Cache的能力。
✍总结
本次Spring Cloud升级点并不多,可能刺激不到你的神级。但或许这也是好事呀,毕竟每次搞那么大的话,真升不动了,躺平走起。