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

相关文章
|
10月前
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
1795 5
|
10月前
|
存储 缓存 Java
Spring中@Cacheable、@CacheEvict以及其他缓存相关注解的实用介绍
缓存是提升应用性能的重要技术,Spring框架提供了丰富的缓存注解,如`@Cacheable`、`@CacheEvict`等,帮助开发者简化缓存管理。本文介绍了如何在Spring中配置缓存管理器,使用缓存注解优化数据访问,并探讨了缓存的最佳实践,以提升系统响应速度与可扩展性。
450 0
Spring中@Cacheable、@CacheEvict以及其他缓存相关注解的实用介绍
|
缓存 NoSQL Java
什么是缓存?如何在 Spring Boot 中使用缓存框架
什么是缓存?如何在 Spring Boot 中使用缓存框架
1113 0
|
消息中间件 缓存 NoSQL
基于Spring Data Redis与RabbitMQ实现字符串缓存和计数功能(数据同步)
总的来说,借助Spring Data Redis和RabbitMQ,我们可以轻松实现字符串缓存和计数的功能。而关键的部分不过是一些"厨房的套路",一旦你掌握了这些套路,那么你就像厨师一样可以准备出一道道饕餮美食了。通过这种方式促进数据处理效率无疑将大大提高我们的生产力。
405 32
|
存储 缓存 NoSQL
Spring Cache缓存框架
Spring Cache是Spring体系下的标准化缓存框架,支持多种缓存(如Redis、EhCache、Caffeine),可独立或组合使用。其优势包括平滑迁移、注解与编程两种使用方式,以及高度解耦和灵活管理。通过动态代理实现缓存操作,适用于不同业务场景。
810 0
|
缓存 Java 开发工具
Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存
三级缓存是Spring框架里,一个经典的技术点,它很好地解决了循环依赖的问题,也是很多面试中会被问到的问题,本文从源码入手,详细剖析Spring三级缓存的来龙去脉。
2390 24
Spring是如何解决循环依赖的?从底层源码入手,详细解读Spring框架的三级缓存
|
消息中间件 监控 Java
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + RabbitMQ应用程序部署到Pivotal Cloud Foundry (PCF)
446 6
|
Java 关系型数据库 MySQL
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot + MySQL应用程序部署到Pivotal Cloud Foundry (PCF)
381 5
|
缓存 监控 Java
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
如何将Spring Boot应用程序部署到Pivotal Cloud Foundry (PCF)
403 5
|
缓存 Java 数据库连接
深入探讨:Spring与MyBatis中的连接池与缓存机制
Spring 与 MyBatis 提供了强大的连接池和缓存机制,通过合理配置和使用这些机制,可以显著提升应用的性能和可扩展性。连接池通过复用数据库连接减少了连接创建和销毁的开销,而 MyBatis 的一级缓存和二级缓存则通过缓存查询结果减少了数据库访问次数。在实际应用中,结合具体的业务需求和系统架构,优化连接池和缓存的配置,是提升系统性能的重要手段。
603 4

热门文章

最新文章