首页 > 其他分享 >Spring Cloud Alibaba 2022 正式发布,启动速度提升 10 倍,各方面直接起飞!

Spring Cloud Alibaba 2022 正式发布,启动速度提升 10 倍,各方面直接起飞!

时间:2023-08-01 15:12:54浏览次数:43  
标签:10 Spring Alibaba Cloud 版本 0.0 2022.0

大家好,我是栈长。

经过 Spring Cloud Alibaba 2022 的第一个候选版本 2022.0.0.0-RC1 发布 7 个多月后,中间还有一个 2022.0.0.0-RC2 版本,就在前几天,Spring Cloud Alibaba 2022.0.0.0 正式版 终于正式发布了。

Spring Cloud Alibaba 2022.0.0.0

依赖更新

由于 Spring Boot 各个版本之间变化非常大,特别是 Spring Boot 2.4 和 3.0 版本,所以 Spring Cloud Alibaba 以 Spring Boot 3.0 和 2.4 为分界线,同时维护了 2022.x、2021.x、2.2.x 三个版本分支。

Spring Cloud Alibaba 版本基础依赖如下:

Spring Cloud Alibaba Spring Cloud Spring Boot JDK
2022.0.0.0 Spring Cloud 2022.0.0 3.0.2 17+
2021.0.5.0 2021.0.5 2.6.13 8+
2021.0.4.0 Spring Cloud 2021.0.4 2.6.11 8+
2021.0.1.0 Spring Cloud 2021.0.1 2.6.3 8+
2.2.9.RELEASE Spring Cloud Hoxton.SR12 2.3.12.RELEASE 8+

Spring Cloud Alibaba 2022.0.0.0 主要适配了 Spring Cloud 2022.0.0、Spring Boot 3.0、JDK 17,这四个技术其实是相互依赖的关系,前者是基于后者的构建,其中任何一个技术的版本都不能随意更换。

Spring Cloud Alibaba 的版本号是跟 Spring Cloud 版本走的,但不会每个版本同步更新,比如 Spring Cloud Alibaba 并没有同步 Spring Cloud 2021.0.2, 2021.0.3 版本。

Spring Cloud Alibaba 的版本号说明:

版本前 3 位是 Spring Cloud 版本号,最后一位为扩展版本号。

比如适配 Spring Cloud 2022.0.0 版本对应的 Spring Cloud Alibaba 第一个版本为:2022.0.0.0,第个二版本为:2022.0.0.1,依此类推。

组件更新

Spring Cloud Alibaba 不同的版本,其适配的各个底层组件版本也可能不同,依赖的各个组件版本如下:

Spring Cloud Alibaba Sentinel Nacos RocketMQ Seata
2022.0.0.0 1.8.6 2.2.1 4.9.4 1.7.0
2021.0.5.0 1.8.6 2.2.0 4.9.4 1.6.1
2021.0.4.0 1.8.5 2.0.4 4.9.4 1.5.2
2021.0.1.0 1.8.3 1.4.2 4.9.2 1.4.2
2.2.9.RELEASE 1.8.5 2.1.0 4.9.4 1.5.2

Spring Cloud Alibaba 2022.0.0.0 更新最大的组件是 Nacos 和 Seata,更新会存在一定的兼容性问题。

其他细节更新

还有大量细节更新,栈长这里就不一一列出了,感兴趣的可以阅读底部的官方发布说明,2022.0.0.0 版本的内容更新主要涉及三个版本,包括候选版本,正式版本发布说明没有包含全部更新内容。

个人认为 2022.0.0.0 版本最大的功能是对静态编译的支持,在适配 Spring Boot 3.0 以后,使用基于 GraalVM 构建原生应用镜像,各方面都要直接起飞。

GraalVM 是什么?

GraalVM 是一个跨语言的通用虚拟机,不仅支持了 Java、Scala、Groovy、Kotlin 等基于 JVM 的语言,以及 C、C++ 等基于 LLVM 的语言,还支持其他像 JavaScript、Ruby、Python 和 R 语言等。

GraalVM 可用来代替 JVM,它通过预先编译(Ahead Of Time,AOT)等技术对 Java 应用进行预先编译,让 Java 应用启动速度更快、占用内存更低、体积也更小。

下面是 Spring Cloud Alibaba 官方做的测试:

测试环境:

  • macOS 11.4
  • 2.6 GHz 6-Core Intel Core i7 处理器
  • 16G 内存

主要测试启动速度和运行时占用内存,分别模拟 3 次取平均值。

从上述测试结果可发现,最新支持 Spring Boot 3.0 基于 GraalVM 的 Spring Cloud Alibaba 应用,不管是在启动速度,还是在内存占用,以及在应用包大小方面,都得到显著降低。

拿服务注册和服务消费的测试结果对比:

基于 GraalVM 的应用启动速度提升了近 10 倍,运行时内存占用比原来降低了近 2/3,效果非常明显。

所以,适配 Spring Boot 3.0 发布后,基于 Spring Cloud Alibaba 的云原生应用直接起飞了,可以帮助企业更快地进行弹性扩缩容和降低云成本。

Spring Cloud Alibaba 科普

还有很多人搞不清楚 Spring Cloud Alibaba、Spring Cloud,它们到底有什么关系,栈长今天给大家科普一下。

1、Spring Cloud Alibaba 是什么?

Spring Cloud Alibaba 是微服务开发一站式解决方案,由阿里巴巴开源,它包含开发分布式应用的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

Spring Cloud Alibaba 也早就成为了 Spring Cloud 的官方子项目:

通过 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。

2、Spring Cloud Alibaba 和 Spring Cloud、Spring Cloud Netflix 有什么关系?

  • Spring Cloud: 这是 Spring 官方提供的一套分布式应用开发标准框架,也可以理解为一套微服务开发的统一抽象编程模型。
  • Spring Cloud Netflix: 这是最早期的 Spring Cloud 微服务框架,它基于 Spring Cloud 编程模型整合了许多 Netflix 公司的开源组件,比如:Eureka、Ribbon、Zuul、Hystrix 等,现在它们大多都已经停止维护了。
  • Spring Cloud Alibaba: 这是阿里巴巴基于 Spring Cloud 编程模型开源的微服务框架,整合了各种阿里巴巴微服务开源组件,比如:Nacos、RocketMQ、Sentinel、Seata 等。

说白点,Spring Cloud 提供了一套微服务开发的统一抽象编程模型,即制定一个标准,Spring Cloud Netflix 和 Spring Cloud Alibaba 都是基于该抽象编程模型的实现,并集成了自家的开源组件,以实现微服务开发的各个环节。

3、学习哪个 Spring Cloud 比较好?

除了以上介绍的那三种,市面上我知道的还有腾讯开源的 Spring Cloud Tencent,不过还比较年轻,需要市场的检验。

Spring Cloud Netflix 虽然起步早,但是后面各种组件都停止维护了,版本更新和组件替换、兼容等都是个大问题,不太建议再继续学习了。

所以,学习 Spring Cloud Alibaba 是目前最正确的姿势:

  • Spring Cloud Alibaba 基于 Spring Cloud 构建,只是提供了对 Alibaba 组件的封装而已,比如:Nacos、Sentinel 等,其最顶层的抽象还是 Spring Cloud,所以学习 Spring Cloud Alibaba 就是学习 Spring Cloud。
  • Spring Cloud Alibaba 作为 Spring Cloud 的官方顶级项目,也是国内最强微服务框架及事实上的标准,没有之一。

好了,今天的分享就到这里了,后续栈长也会继续关注并分享更多的 Java 技术干货,关注公众号Java技术栈第一时间推送。

版权声明: 本文系公众号 "Java技术栈" 原创,转载、引用本文内容请注明出处,抄袭、洗稿一律投诉侵权,后果自负,并保留追究其法律责任的权利。

参考文档:


课程推荐

在公众号分享技术之余,栈长花了大部分休息时间打造了的最新《Spring Cloud Alibaba 微服务实战课》,一经推出,好评如潮,课程几乎覆盖了 Spring Cloud Alibaba 所有操作!!!

点击放大查看高清版

已全部完结,可随时报名学习全部内容。

最近栈长又花了不少时间更新到了第三期,干货满满,包括适配最新的 Spring Cloud Alibaba 2022.0.0.0 版本,课程其他内容也升级、加强了,比如 Nacos 配置加解密、OAuth 2 版本更新等,一次订阅,永久免费提供更新。

总之,如果你想系统学习 Spring Cloud 微服务体系,想学习微服务项目架构设计,以及各种主流框架、中间件的衔接和运用,这个课程正适合你。学完直接把各种微服务技术写到简历里,面试跳槽谈薪水时会更有底气。

早订阅的小伙伴,一路学习跟过来,就知道有多值了,不要乱学老旧的微服务技术了,浪费时间和栈长学习最新的 Spring Cloud 微服务技术,少走弯路。

避免无效沟通,课程详细介绍看下这篇:

别再乱学微服务了,这才使用 Spring Cloud 微服务的正确姿势!

感兴趣的可以扫码联系栈长微信(160285345)报名,请备注:999。

近期热文推荐:

1.1,000+ 道 Java面试题及答案整理(2022最新版)

2.劲爆!Java 协程要来了。。。

3.Spring Boot 2.x 教程,太全了!

4.别再写满屏的爆爆爆炸类了,试试装饰器模式,这才是优雅的方式!!

5.《Java开发手册(嵩山版)》最新发布,速速下载!

觉得不错,别忘了随手点赞+转发哦!

标签:10,Spring,Alibaba,Cloud,版本,0.0,2022.0
From: https://www.cnblogs.com/javastack/p/17596562.html

相关文章

  • springboot 使用log4j2配置
      pom配置如下:<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope>......
  • win10最新版apktool 反编译
    apktool_2.6.0.jar 改成apktool.jar和apktool.bat放在同一个文件夹,并将此文件夹加入系统变量Path(D:\SoftWare\apktool)apktool.bat:@echooffsetlocalsetBASENAME=apktool_chcp650012>nul>nulsetjava_exe=java.exeifdefinedJAVA_HOME(setjava_exe="%JAVA_HOME%\b......
  • spring boot学习(7)— 自定义中的 HttpMessageConverter
    在我们开发自己的应用时,有时候,我们可能需要自定义一些自己的数据格式来传输,这时,自定义的数据传输和类的实例之间进行转化就需要统一起来了, SpringMVC 中的 HttpMessageConverter 就派上用场了。HttpMessageConverter 的声明:publicinterfaceHttpMessageConverter<T>{......
  • 智慧校园源码:vue2+Java+springboot+MySQL+elmentui+jpa+jwt
    智慧校园综合管理云平台源码系统主要以校园安全、智慧校园综合管理云平台为核心,以智慧班牌为学生智慧之窗,以移动管理平台、家校沟通为辅。教师—家长一学校—学生循环的无纸化管理模式及教学服务,实现多领域的信息互联互通以及校园管理一体化、信息数据化、数据自动化。智慧班牌融合......
  • SpringCloud Gateway 在微服务架构下的最佳实践
    作者:徐靖峰(岛风)前言本文整理自云原生技术实践营广州站Meetup的分享,其中的经验来自于我们团队开发的阿里云CSB2.0这款产品,其基于开源SpringCloudGateway开发,在完全兼容开源用法的前提下,做了诸多企业级的改造,涉及功能特性、稳定性、安全、性能等方面。为什么需要微服务网......
  • alibaba获得店铺的所有商品 API
    为了进行电商平台的API开发,首先我们需要做下面几件事情。1)开发者注册一个账号2)然后为每个alibaba应用注册一个应用程序键(AppKey)。3)下载alibabaAPI的SDK并掌握基本的API基础知识和调用4)利用SDK接口和对象,传入AppKey或者必要的时候获取并传入SessionKey来进行程序开发。5)利用ali......
  • alibaba按关键字搜索商品 API
    为了进行电商平台的API开发,首先我们需要做下面几件事情。1)开发者注册一个账号2)然后为每个alibaba应用注册一个应用程序键(AppKey)。3)下载alibabaAPI的SDK并掌握基本的API基础知识和调用4)利用SDK接口和对象,传入AppKey或者必要的时候获取并传入SessionKey来进行程序开发。5)利用ali......
  • SpringBoot进行参数校验的方法详解
    https://www.jb51.net/article/246275.htm在日常的接口开发中,为了防止非法参数对业务造成影响,经常需要对接口的参数进行校验。本文通过示例详细讲解了SpringBoot如何进行参数校验的,感兴趣的可以学习一下 +目录介绍在日常的接口开发中,为了防止非法参数对业务造成影响,经常......
  • Spring Boot Starter 剖析与实践
    引言对于Java开发人员来说,Spring框架几乎是必不可少的。它是一个广泛用于开发企业应用程序的开源轻量级框架。近几年,SpringBoot在传统Spring框架的基础上应运而生,不仅提供了Spring的全部功能,还使开发人员更加便捷地使用。在使用SpringBoot时,我们经常会接触到各种Spr......
  • Gym104128L Proposition Composition
    很好口胡却不好写。把边分成链边和额外边首先想到分类讨论,显然不能只删额外边,所以有两类情况,删一链边和两链边。如果删一链边,这一链边要么完全没被额外边覆盖,然后其他任选一条;要么被覆盖一次,额外边选覆盖它的边。用线段树简单维护即可。现在难的是删两链边,且这两条链边都至少......