设为首页 加入收藏

TOP

Spring Cloud Alibaba 2022 正式发布,启动速度提升 10 倍,各方面直接起飞!(一)
2023-08-06 07:49:47 】 浏览:66
Tags:Spring Cloud Alibaba 2022 方面直

大家好,我是栈长。

经过 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 的语言,还支持其他像 java script、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 虽然

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MyBatis 核心组件 —— Configura.. 下一篇CGLIB动态代理对象GC问题排查

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目