资讯详情

【方向盘】Spring Cloud 2021.0.0正式发布,FeignClient调用结果可一键缓存

在这里插入图片描述

盛年不重来,一天难再晨。 本文已被https://yourbatman.cn收录;女娲Knife-Initializr项目可公开访问;程序员专用网盘https://wangpan.yourbatman.cn;技术专栏源代码大本营:https://github.com/yourbatman/tech-column-learning;公号后台回复获得所有小而美的技术专栏

你好,我是。笔者的公号是保留地,

?前言

北京时间2021-12-01,Spring Cloud 2021.0.0正式发布。换句话说,2021年快结束了。第一个版本怎么样?如果与去年的2020相比.0.0版本发布时间为2020-12-22,发现仍有进步哈。

【方向盘】Spring Cloud 2020.0.0正式发布,再见Netflix

其实,Spring Cloud发布速度慢是必然的,因为下面的子项目太多了,不像Spring Boot很容易控制。每个子项目都有自己的发布节奏,Spring Cloud协调整合在一起也取决于Spring Boot升级版本,需要做兼容测试,很难!

所属专栏

  • 【方向盘】-Spring Cloud新特性

相关下载

  • 本专栏源代码:https://github.com/yourbatman/FXP-java-ee
  • 【技术专栏源代码大本营】https://github.com/yourbatman/tech-column-learning
  • 【女娲Knife-Initializr访问地址:工程:http://152.136.106.14:8761
  • 【程序员专用网盘】公益上线,注册发送1G超小容量,帮你练习:https://wangpan.yourbatman.cn
  • 【Java开发软件包(Mac)】:https://wangpan.yourbatman.cn/s/rEH0 提取码:javakit

版本约定

  • Spring Framework 5.3.13
  • Spring Boot 2.6.1
  • Spring Cloud 2021.0.0

?正文

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的版本对应关系

这是官方给出的对应关系图: 我把它整理为更为详细的表格:

Release Train 发布时间 Spring Boot版本 SC Commons版本
2021.0.x 2021-12 2.6.x 3.1.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
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 Boot每年发布2个中版本、一个大版本升级,Spring Cloud保持每年一次大版本升级的用以匹配节奏。

✌版本管理

Spring Cloud管理着众多功能组件,整体上分为。从源码处这里可以看出,以2021.0.0版本为例: 笔者制作成表格,方便你收藏:

模块 版本 核心组件
3.1.0 spring-cloud-commons spring-cloud-contextspring-cloud-loadbalancerspring-cloud-starter
3.1.0 spring-cloud-starter-netflix-eureka-clientspring-cloud-starter-netflix-eureka-server
3.1.0 spring-cloud-starter-openfeignfeign-bom:11.7feign-form-spring:3.8.0
3.1.0 spring-cloud-gateway-webfluxspring-cloud-gateway-mvcspring-cloud-gateway-serverspring-cloud-starter-gateway
2.1.0 resilience4j-bom:1.7.0spring-cloud-starter-circuitbreaker-resilience4jspring-cloud-starter-circuitbreaker-reactor-resilience4j
3.1.0 spring-cloud-starter-configspring-cloud-config-clientspring-cloud-config-serverspring-cloud-config-monitor
3.2.1 spring-cloud-streamspring-cloud-stream-binder-kafka-streamsspring-cloud-starter-stream-rabbit
2.4.0 spring-cloud-starter-taskspring-cloud-task-batchspring-cloud-task-stream
3.1.0 spring-cloud-starter-consulspring-cloud-starter-consul-busspring-cloud-starter-consul-configspring-cloud-starter-consul-discoveryspring-cloud-starter-consul-all
3.1.0 spring-cloud-sleuth-bravespring-cloud-sleuth-zipkispring-cloud-starter-sleuth
spring-cloud-zookeeper-configspring-cloud-zookeeper-discoveryspring-cloud-starter-zookeeper-all
3.1.0 spring-cloud-cloudfoundry-discoveryspring-cloud-starter-cloudfoundry
3.1.0 spring-cloud-starter-bus-amqpspring-cloud-starter-bus-kafkaspring-cloud-starter-bus-stream
3.1.0 spring-cloud-contract-wiremockspring-cloud-contract-specspring-cloud-contract-spec-java<spring-cloud-contract-spec-kotlinspring-cloud-contract-stub-runner
3.2.1 spring-cloud-function-contextspring-cloud-starter-function-webspring-cloud-starter-function-webfluxspring-cloud-function-deployerspring-cloud-function-adapter-awsspring-cloud-function-adapter-azurespring-cloud-function-adapter-gcpspring-cloud-function-adapter-openwhisk
3.1.0 spring-cloud-vault-config-awsspring-cloud-vault-config-consulspring-cloud-vault-config-databasespring-cloud-vault-config-rabbitmq
3.1.0 kubernetes-client-bom:5.9.0io.kubernetes:client-java:13.0.0io.kubernetes:client-java-spring-integration:13.0.0istio-clientspring-cloud-kubernetes-client-configspring-cloud-kubernetes-client-discoveryspring-cloud-kubernetes-fabric8-istiospring-cloud-kubernetes-fabric8-loadbalancerspring-cloud-starter-kubernetes-fabric8-all

发现没,如果团队正在使用kubernetes,那么spring-cloud-kubernetes也将是不错的解决方案哦,类似于Netflix的全家桶嘛。

✌当前支持的版本

Pivotal公司(Spring的母公司)对核心产品有个OSS支持协议,简而言之:主要版本提供支持,Spring Cloud作为Java领域云计算框架遵循了此协议。

特别注意:这里指的才是3年,主要版本可不常有的哦

每每新版本发布,就会有一些老版本需要退位让贤。2021.0.0版本已发布,各版本的官方支持情况如下:

新特性

作为主要版本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升级点并不多,可能刺激不到你的神级。但或许这也是好事呀,毕竟每次搞那么大的话,真升不动了,躺平走起。 Spring Cloud在2022年会发布2022.0.0版本,用来支持Spring Boot 3.0.0(基于Spring Framework 6.0),届时会有,到时再见!

本专栏上下文

  • 【方向盘】Spring Cloud 2020.0.0正式发布,再见了Netflix

推荐阅读

  • 【方向盘】因“双减”失业,厉经9面,终获美团外卖L8的Offer
  • 【方向盘】蚂蚁金服上市了,我不想努力了
  • 【方向盘】每人送1G超小容量,“BAT网盘”免费助你做减法

我是:一个前25年还不会写Hallo World、早已毕业的。网瘾失足、清考、延期毕业、房产中介、保险销售、送外卖…是我不可抹灭的黑标签

  • 👉🏻2006 - 2009:游戏《梦幻西游》骨灰玩家
  • 🎓2013.07 清考、毕业答辩3次未通过、延期毕业
  • 🏷2013.08-2014.07 宁夏中介公司卖二手房1年,毕业后第1份工作
  • ️️🏷2014.07-2015.05 荆州/武汉,泰康人寿卖保险3月、饿了么送外卖2月,还有炸鸡排、直销等第2345份工作
  • 🏷2015.08 开始从事Java开发,闯过外包,呆过大厂!多年架构经验,任基础架构/中间件团队负责人
  • 🏷2021.08 因“双减政策”失业!历经9面,终获美团外卖L8的offer
  • 🙅🏻‍♀️Java架构师、Spring开源贡献者、CSDN博客之星年度Top 10、领域建模专家、写作大赛1/2届评委
  • 📚将出版书籍《Spring奇淫巧技》,致力于国内zui好、zui具深度、zui实用的专栏,为市场贡献微薄之力
  • 现在写纯粹技术专栏(公号后台回复),不哗众取宠。如果你也有共鸣,可加我好友(fsx1056342982)一起进步
序号 专栏名称 简介
01 【方向盘】-程序人生 程序人生,人生程序
02 【方向盘】-资讯/新特性 IDEA、JDK、Spring技术栈…新特性
03 【方向盘】-IntelliJ IDEA 熟练使用IDEA就相当拥有物理外挂,助你高效编码
04 【方向盘】-Bean Validation 熟练掌握数据校验,减少90%的垃圾代码
05 【方向盘】-日期时间 帮你解决JDK Date、JSR 310日期/其实 的一切问题
06 【方向盘】-Spring类型转换 Spring类型转换-框架设计的基石
07 【方向盘】-Spring static static关键字在Spring里的应用
08 【方向盘】-Cors跨域 关于跨域请求问题,本专栏足矣
09 【方向盘】-Jackson Almost Maybe是最好的Jackson专栏
10 【方向盘】-Spring配置类 专讲@Configuration配置类,你懂的
11 【方向盘】-Spring技术栈 暂无所属小分类的,Spring技术栈大分类
12 【方向盘】-JDK 暂无所属小分类的,JDK技术栈大分类
13 【方向盘】-Servlet Servlet规范、Web相关内容专题
14 【方向盘】-Java EE 从Java EE到Jakarta EE,30年弹指一挥间
15 【方向盘】-Spring Boot新特性 Spring Boot中、大版本发布时的新特性系列专题
16 【方向盘】-Spring Framework新特性 Spring Framework中、大版本发布时的新特性系列专题
17 【方向盘】-Spring Cloud新特性 Spring Cloud中、大版本发布时的新特性系列专题
99 大多数专栏均配有源代码,都在这里
  • 源代码库地址:https://github.com/yourbatman/tech-column-learning
  • CSDN主页:https://blog.csdn.net/f641385712
  • 掘金主页:https://juejin.cn/user/430664289367192
  • 博客园主页:https://www.cnblogs.com/yourbatman
  • 个人博客主页:https://yourbatman.cn
  • 个人网盘主页:https://wangpan.yourbatman.cn

标签: reh磁吹灭弧电力型继电器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台