Spring Cloud Alibaba 2.2.8 版本发布与社区未来规划介绍

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
注册配置 MSE Nacos/ZooKeeper,118元/月
可观测链路 OpenTelemetry 版,每月50GB免费额度
简介: 本次发布的 Spring Cloud Alibaba 2.2.8 版本是基于项目 2.2.x 分支构建发布的,是在 Spring Cloud Hoxton.SR12、Spring Cloud 2.3.12.RELEASE 的基础上对其中包括注册配置中心、分布式消息等在内的众多组件进行了升级,属于一个组件升级与 Bug 修改的版本。

作者:铖朴


新版本预览


本次发布的 Spring Cloud Alibaba 2.2.8 版本是基于项目 2.2.x 分支构建发布的,是在 Spring Cloud Hoxton.SR12、Spring Cloud 2.3.12.RELEASE 的基础上对其中包括注册配置中心、分布式消息等在内的众多组件进行了升级,属于一个组件升级与 Bug 修改的版本。本次发布的 Spring Cloud Alibaba 2.2.8 版本对以下组件版本进行了升级:


  • Nacos:升级 Nacos 客户端到 2.1.0 版本[1],该版本新增了包括认证插件和配置加密插件等相关能力。
  • RocketMQ:升级到了 4.9.3 版本[2],该版本提供了轻量级消息队列和为延迟消息提供异步发送功能等在内的诸多特性。
  • Sentinel:升级到了 1.8.4 版本[3],该版本完善了 transport 和网关流控参数解析模块的扩展性,提供拦截器扩展以支持用户自定义鉴权。
  • Seata:升级到了 1.5.1 版本[4],该版本提供了控制台,SkyWalking APM 能力等在内的诸多新特性。 


除了组件升级,另外也修复了一些之前版本所存在的问题,进一步提升了 Spring Cloud Alibaba 使用的稳定性与健壮性。更多内容可参见发版公告[5]。Spring Cloud Alibaba 与 Spring Cloud 和 Spring Boot 当前各版本对应关系可参见官网 Wiki 版本说明[6]


打造更好用的微服务技术


经过三年多的飞速发展,截止到当前,Spring Cloud Alibaba 共发布了 28 个版本,在 GitHub上的累计 stars 数目超过了 22.5k,fork 数达到了 7.0k,用户数达到了 24k 之多,各项关键数据遥遥领先国内外各大云厂商推出的同类开源微服务产品。


1.png


除了支撑阿里巴巴经济体日常复杂的微服务应用场景,Spring Cloud Alibaba 也被数千家外部企业用户在生产场景中广泛使用。


2.png


未来 Spring Cloud Alibaba 会继续对齐 Spring Cloud 主流版本发展演进,同时支持以 Spring Cloud 2021.x 和 Hoxton 两个当前主流版本对应的 Spring Cloud Alibaba 2021.x 和 2.2.X 版本迭代。


在发展规划方面,如果说 Spring Cloud Alibaba 过去的第一阶段工作是提供微服务解决方案组件丰富 Spring Cloud 生态,让广大外部用户能够轻松地拥抱微服务。未来,在第二阶段,Spring Cloud Alibaba 会通过自身的努力让外部的用户用好微服务,通过构建微服务治理和业务高可用相关能力,满足用户在微服务使用过程中的更高层次的诉求。具体的话将投入力量构建 Spring Cloud 生态的微服务治理、微服务高可用和分布式任务调度等方面能力。近期主要规划的内容包括以下 2 部分。


依托 Service Mesh 构建 Spring Cloud 生态应用微服务治理能力


目前 Spring Cloud 生态缺乏成熟完整的微服务治理能力,服务网格作为当下云原生微服务治理领域的热门技术,通过 Sidecar 代理方式将业务与框架解耦带来了比如基础框架与应用解耦、支持多语言和应用易迁移等诸多优势。其中,Istio 是服务网格中最具代表性的实现,其定义的很多规则成为了服务治理领域的一个通用描述,通过 Istio + Sidecar 的模式可以实现如金丝雀发布、鉴权、可观测等微服务治理功能。依托 Service Mesh 技术构建微 Spring Cloud 生态微服务治理能力的具体方案包括以下 2 种:


  • Sidecar 模式 


Sidecar 代理模式是作为应用 Mesh 化的通用方法,其通过在部署于 Kubernetes 的业务 Pod 中增加一个 Sidecar 代理容器以实现对业务流量的劫持进而实现如服务鉴权、金丝雀发布等微服务治理功能,应用通过 Sidecar 模式实现微服务治理功能详细的架构如下图所示:


3.png


由于在该种模式下,Spring Cloud 应用的流量都由业务 Pod 中的 Sidecar 代理进行托管,所有的治理规则管理下发和规则执行都依托于 Service Mesh 中的控制面和数据面能力,因此在不需要改动应用框架的条件下就可为 Spring Cloud 应用便捷的提供服务治理功能。Sidecar 代理模式为 Spring Cloud 应用提供服务治理能力的方式完全保留了 Mesh Service 原生优良设计,但由于在应用的调用过程中多了一层代理来进行流量转发,其性能上会有一定损耗。


  • Proxyless Service Mesh 模式 


由于 Sidecar 代理模式在性能上的不足,Proxyless Service Mesh 无代理 Mesh 化技术被业界提出,作为相对于 Sidecar 代理模式而言的另外 Mesh 化方案,其不再利用原来 Service Mesh 中数据面 Sidecar 的流量拦截能力,而是仅利用控制面 Istio 的规则管理与下发能力,通过在框架层面对接 xDS 协议,在框架(此处指 Spring Cloud Alibaba)中重新实现对接 xDS 协议的服务发现与负载均衡功能,让其能解析从控制面下发的治理规则,从而实现服务治理。其架构如下图所示:


4.png


该种方式较好的继承了 Mesh Service 中控制面 Istio 的治理规则管控能力,并摒弃了 Sidecar 方案在性能上的不足,是一种当前微服务框架与 Service Mesh 的折中方案,能解决现有微服务框架中微服务治理能力欠缺问题,同时避免出现明显的性能瓶颈。社区接下来,计划在上述两种 Service Mesh 方式上都做相关探索,构建 Spring Cloud 生态的微服务治理能力。


集成 AppActive 方案,构建 Spring Cloud 生态的应用高可用方案


AppActive,由阿里巴巴开源于 2021 年 12 月开源的一个面向业务应用构建云原生高可用多活容灾架构的开源中间件。它提供了应用多活容灾架构的标准、实现和 Demo,适用于丰富的业务场景(单 AZ、单 Region、单云、多 AZ、多 Region、多云、自建 IDC 等)。


AppActive 建立在 阿里巴巴 使用 AHAS-MSHA 系统大规模运行生产应用系统的 8 年经验之上,且结合了来自阿里云商业化服务的外部多家客户和社区的最佳实践,具备高可靠、可拓展等特性。其整体的方案从网关入手到业务应用最后到数据服务涵盖了当今常规软件系统全部组件的高可用解决方案,详细的方案如下图所示:


5.png


社区接下来,计划与 AppActive 社区一起,将 AppActive 的相关能力,通过集成到 Spring Cloud Alibaba 中,为 Spring Cloud 用户提供开箱即用的应用高可用能力。


激励计划


季度活跃贡献者计划


由于 Spring Cloud Alibaba 项目模块多,内容面涉及广等特点。由少数同学参与全部模块的 PR 的 Code Review 和 issues 处理任务量大,效率偏低。社区决定把模块进行划分,3 个月为一轮,将项目分为 Nacos、Sentinel、RocketMQ、Seata 和 Sidecar 这 5 个模块,每个模块招募 1~2 个同学负责对应模块的 issues 处理和 PR Code Review 工作。


要求:

  • 对相关模块有一定了解,最好有相关贡献经历;
  • 在招募期间,需要每隔 1~2 天浏览 GitHub 上相关 issues 和 PR 情况,有所负责的模块相关的 issues 和 PR,需要能及时处理,一般尽量在 3 天内给出回复;
  • 在招募期间,无特殊原因的情况下,能按时参加社区双周会。


收获:

  • 所有参与招募任务的同学,报名可获得 Spring Cloud Alibaba 社区定制文化衫 1 件,如果 3 个月活动结束时能顺利完成招募任务可获得社区定制水杯 1 个;
  • 一次比较好的机会,能让自己长期参与社区活动,帮助外部同学解决问题过程中提升自身对相关模块的理解程度,掌握相关关联开源框架的实现原理,对自身核心竞争力提升有帮助;
  • 如果对相关模块能参与贡献有价值得到社区成员认可的贡献,有机会提名成为社区 Committer。


月度活跃参与者计划


为了对长期参与社区活动(周会,社区讨论或线上/线下 Meetup 等),在社区交流群中积极解决外部用户问题,活跃在社区项目 GitHub 主页的同学给与一定的奖励,社区从 6 月份开始,每月会由核心贡献者提名投票选出 1 位 Spring Cloud Alibaba 社区月度活跃参与者,奖励社区定制文化衫 1 件。


说明:

  • 对获奖同学身份没有要求,所有参与社区的内外部同学都有机会获得;
  • 无论是参与社区活动,还是解答 issues 或是提交 PR 都可算作参与社区贡献;
  • 获奖需经过社区核心贡献成员提名并投票;
  • 参与季度活跃贡献者计划的同学在招募期内不能同时被提名为月度活跃参与者。 


6.png

7.png


欢迎感兴趣的同学,通过扫描下方二维码加入 Spring Cloud Alibaba 社区,一起为构建更好用的微服务技术努力!


8.png


参考链接:


[1]2.1.0版本:

https://nacos.io/zh-cn/blog/2.1.0-release.html

[2] 4.9.3版本:

https://rocketmq.apache.org/release_notes/release-notes-4.9.3/

[3] 1.8.4 版本:

https://sentinelguard.io/zh-cn/blog/sentinel-1-8-4-release.html

[4] 1.5.1版本:

https://github.com/seata/seata/releases

[5] 发版公告:

https://github.com/alibaba/spring-cloud-alibaba/releases/tag/2.2.8.RELEASE

[6] 官网 Wiki 版本说明:

https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E


MSE 注册配置中心专业版首购享 9 折优惠,MSE 云原生网关预付费全规格享 85 折优惠。


点击此处,即享优惠!

相关文章
|
19天前
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
2月前
|
资源调度 Java 调度
Spring Cloud Alibaba 集成分布式定时任务调度功能
定时任务在企业应用中至关重要,常用于异步数据处理、自动化运维等场景。在单体应用中,利用Java的`java.util.Timer`或Spring的`@Scheduled`即可轻松实现。然而,进入微服务架构后,任务可能因多节点并发执行而重复。Spring Cloud Alibaba为此发布了Scheduling模块,提供轻量级、高可用的分布式定时任务解决方案,支持防重复执行、分片运行等功能,并可通过`spring-cloud-starter-alibaba-schedulerx`快速集成。用户可选择基于阿里云SchedulerX托管服务或采用本地开源方案(如ShedLock)
|
20天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
807 10
|
2月前
|
人工智能 前端开发 Java
【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)
本文介绍了如何使用 **Spring Cloud Alibaba AI** 构建基于 Spring Boot 和 uni-app 的聊天机器人应用。主要内容包括:Spring Cloud Alibaba AI 的概念与功能,使用前的准备工作(如 JDK 17+、Spring Boot 3.0+ 及通义 API-KEY),详细实操步骤(涵盖前后端开发工具、组件选择、功能分析及关键代码示例)。最终展示了如何成功实现具备基本聊天功能的 AI 应用,帮助读者快速搭建智能聊天系统并探索更多高级功能。
763 2
【实操】Spring Cloud Alibaba AI,阿里AI这不得玩一下(含前后端源码)
|
16天前
|
人工智能 前端开发 Java
Spring Cloud Alibaba AI,阿里AI这不得玩一下
🏀闪亮主角: 大家好,我是JavaDog程序狗。今天分享Spring Cloud Alibaba AI,基于Spring AI并提供阿里云通义大模型的Java AI应用。本狗用SpringBoot+uniapp+uview2对接Spring Cloud Alibaba AI,带你打造聊天小AI。 📘故事背景: 🎁获取源码: 关注公众号“JavaDog程序狗”,发送“alibaba-ai”即可获取源码。 🎯主要目标:
29 0
|
2月前
|
Dubbo Java 调度
揭秘!Spring Cloud Alibaba的超级力量——如何轻松驾驭分布式定时任务调度?
【8月更文挑战第20天】在现代微服务架构中,Spring Cloud Alibaba通过集成分布式定时任务调度功能解决了一致性和可靠性挑战。它利用TimerX实现任务的分布式编排与调度,并通过`@SchedulerLock`确保任务不被重复执行。示例代码展示了如何配置定时任务及其分布式锁,以实现每5秒仅由一个节点执行任务,适合构建高可用的微服务系统。
57 0
|
17天前
|
SQL 监控 druid
springboot-druid数据源的配置方式及配置后台监控-自定义和导入stater(推荐-简单方便使用)两种方式配置druid数据源
这篇文章介绍了如何在Spring Boot项目中配置和监控Druid数据源,包括自定义配置和使用Spring Boot Starter两种方法。
|
2月前
|
缓存 Java Maven
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
Java本地高性能缓存实践问题之SpringBoot中引入Caffeine作为缓存库的问题如何解决
|
3月前
|
Java 测试技术 数据库
Spring Boot中的项目属性配置
本节课主要讲解了 Spring Boot 中如何在业务代码中读取相关配置,包括单一配置和多个配置项,在微服务中,这种情况非常常见,往往会有很多其他微服务需要调用,所以封装一个配置类来接收这些配置是个很好的处理方式。除此之外,例如数据库相关的连接参数等等,也可以放到一个配置类中,其他遇到类似的场景,都可以这么处理。最后介绍了开发环境和生产环境配置的快速切换方式,省去了项目部署时,诸多配置信息的修改。
|
2天前
|
XML Java 应用服务中间件
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
【Spring】运行Spring Boot项目,请求响应流程分析以及404和500报错
31 2