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

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

✍正文


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的版本对应关系非常重要。


这是官方给出的对应关系图:


image.png


我把它整理为更为详细的表格:


image.png


按目前节奏,Spring Boot每年发布2个中版本、一个大版本升级,Spring Cloud保持每年一次大版本升级的用以匹配节奏。


✌版本管理


Spring Cloud管理着众多功能组件,整体上分为几大类。从源码处这里可以看出,以2021.0.0版本为例:


image.png


笔者制作成表格,方便你收藏:


image.png


image.png


image.png


image.png


发现没,如果团队正在使用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这里。


image.png


该特性同时也添加到了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升级点并不多,可能刺激不到你的神级。但或许这也是好事呀,毕竟每次搞那么大的话,真升不动了,躺平走起。

相关文章
|
2月前
|
缓存 NoSQL Java
什么是缓存?如何在 Spring Boot 中使用缓存框架
什么是缓存?如何在 Spring Boot 中使用缓存框架
55 0
|
5月前
|
缓存 NoSQL Java
【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务
【Azure Redis 缓存】示例使用 redisson-spring-boot-starter 连接/使用 Azure Redis 服务
|
1月前
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
36 6
|
1月前
|
缓存 NoSQL Java
Spring Boot中的分布式缓存方案
Spring Boot提供了简便的方式来集成和使用分布式缓存。通过Redis和Memcached等缓存方案,可以显著提升应用的性能和扩展性。合理配置和优化缓存策略,可以有效避免常见的缓存问题,保证系统的稳定性和高效运行。
47 3
|
1月前
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
58 5
|
1月前
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
41 5
|
1月前
|
缓存 Java 数据库连接
深入探讨:Spring与MyBatis中的连接池与缓存机制
Spring 与 MyBatis 提供了强大的连接池和缓存机制,通过合理配置和使用这些机制,可以显著提升应用的性能和可扩展性。连接池通过复用数据库连接减少了连接创建和销毁的开销,而 MyBatis 的一级缓存和二级缓存则通过缓存查询结果减少了数据库访问次数。在实际应用中,结合具体的业务需求和系统架构,优化连接池和缓存的配置,是提升系统性能的重要手段。
55 4
|
2月前
|
存储 缓存 Java
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
Spring缓存注解【@Cacheable、@CachePut、@CacheEvict、@Caching、@CacheConfig】使用及注意事项
342 2
|
4月前
|
缓存 Java 开发工具
Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存
三级缓存是Spring框架里,一个经典的技术点,它很好地解决了循环依赖的问题,也是很多面试中会被问到的问题,本文从源码入手,详细剖析Spring三级缓存的来龙去脉。
233 24
|
4月前
|
缓存 NoSQL 应用服务中间件
SpringCloud基础8——多级缓存
JVM进程缓存、Lua语法、OpenResty、Nginx本地缓存、缓存同步、Canal
SpringCloud基础8——多级缓存