spring-cloud-alibaba

spring-cloud-alibaba

分布式应用开发的全方位框架

Spring Cloud Alibaba是一个综合性的分布式应用开发框架,集成了开发所需的核心组件。它简化了Spring Cloud应用与阿里巴巴分布式解决方案的对接过程,只需少量配置即可构建完整的分布式系统。该框架提供流量控制、服务降级、注册发现、配置管理、事件驱动等关键功能,为开发者提供全面的技术支持。

Spring Cloud Alibaba微服务分布式应用云原生中间件Github开源项目

Spring Cloud Alibaba

CircleCI Maven Central License actions Leaderboard

这是一个由阿里巴巴维护的项目。

中文版文档请参阅中文文档

Spring Cloud Alibaba为分布式应用开发提供了一站式解决方案。它包含了开发分布式应用所需的所有组件,使您能够轻松地使用Spring Cloud开发应用。

使用Spring Cloud Alibaba,您只需添加一些注解和少量配置,就可以将Spring Cloud应用连接到阿里巴巴的分布式解决方案,并使用阿里巴巴中间件构建分布式应用系统。

特性

  • 流量控制与服务降级:默认支持HTTP服务的流量控制。您还可以使用注解自定义流量控制和服务降级规则。这些规则可以动态更改。
  • 服务注册与发现:服务可以注册,客户端可以使用Spring管理的Bean发现实例。负载均衡与相应的Spring Cloud支持保持一致。
  • 分布式配置:支持分布式系统中的外部化配置,当配置发生变化时自动刷新。
  • 事件驱动:支持构建与共享消息系统连接的高度可扩展的事件驱动微服务。
  • 分布式事务:支持高性能且易于使用的分布式事务解决方案。
  • 阿里云对象存储:海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任何类型的数据。
  • 阿里云SchedulerX:精确、高可靠、高可用的定时任务调度服务,响应时间在秒级内。
  • 阿里云短信服务:覆盖全球的消息服务,阿里云短信服务提供便捷、高效、智能的通信能力,帮助企业快速联系客户。

更多特性请参阅Roadmap

除了上述特性外,为满足企业用户的场景需求,Spring Cloud Alibaba的企业版微服务引擎MSE提供了企业级微服务治理中心,包括更强大的治理能力,如灰度发布、服务预热、无损上下线和异常实例摘除。同时,还提供了多种产品和解决方案,如企业级Nacos注册/配置中心、企业级云原生网关等。

组件

Sentinel:Sentinel以"流量"为切入点,提供流量控制、并发、熔断、负载保护等解决方案,保障服务的稳定性。

Nacos:一个易于使用的动态服务发现、配置和服务管理平台,用于构建云原生应用。

RocketMQ:一个具有低延迟、高性能和可靠性、万亿级容量和灵活可扩展性的分布式消息和流式平台。

Seata:一个易于使用的高性能微服务架构分布式事务解决方案。

阿里云OSS:一种加密安全的云存储服务,可在全球任何地方存储、处理和访问海量数据。

阿里云短信服务:覆盖全球的消息服务,阿里云短信服务提供便捷、高效、智能的通信能力,帮助企业快速联系客户。

阿里云SchedulerX:精确、高可靠、高可用的定时任务调度服务,响应时间在秒级内。

更多特性请参阅Roadmap

如何构建

  • 2023.x 分支: 对应 Spring Cloud 2023 和 Spring Boot 3.2.x,支持 JDK 17 或更高版本。
  • 2022.x 分支: 对应 Spring Cloud 2022 和 Spring Boot 3.0.x,支持 JDK 17 或更高版本。
  • 2021.x 分支: 对应 Spring Cloud 2021 和 Spring Boot 2.6.x,支持 JDK 1.8 或更高版本。
  • 2020.0 分支: 对应 Spring Cloud 2020 和 Spring Boot 2.4.x,支持 JDK 1.8 或更高版本。
  • 2.2.x 分支: 对应 Spring Cloud Hoxton 和 Spring Boot 2.2.x,支持 JDK 1.8 或更高版本。
  • greenwich 分支: 对应 Spring Cloud Greenwich 和 Spring Boot 2.1.x,支持 JDK 1.8 或更高版本。
  • finchley 分支: 对应 Spring Cloud Finchley 和 Spring Boot 2.0.x,支持 JDK 1.8 或更高版本。
  • 1.x 分支: 对应 Spring Cloud Edgware 和 Spring Boot 1.x,支持 JDK 1.7 或更高版本。

Spring Cloud 使用 Maven 进行大多数构建相关活动,您可以通过克隆感兴趣的项目并输入以下命令快速开始:

./mvnw install

如何使用

添加 Maven 依赖

这些构件可通过 BOM 从 Maven 中央仓库和 Spring 发布仓库获得:

<dependencyManagement> <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2023.0.1.0</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>

dependencies 中添加模块。如果想选择旧版本,可以参考版本说明

示例

我们的项目中包含了一个 spring-cloud-alibaba-examples 模块,帮助您快速上手 Spring Cloud Alibaba。它包含一个示例,您可以参考示例项目中的 readme 文件快速了解。

示例:

Sentinel 示例

Nacos 示例

RocketMQ 示例

阿里云 OSS 示例

版本控制指南

项目的版本号形式为 x.x.x,其中 x 是从 0 开始的数字,不限于 0~9 范围。当项目处于孵化阶段时,版本号为 0.x.x。

由于 Spring Boot 1 和 Spring Boot 2 在 Actuator 模块中的接口和注解发生了重大变化,spring-cloud-commons 从 1.x.x 到 2.0.0 也变化很大,我们采用与 Spring Boot 版本号相同的规则。

  • 1.5.x 对应 Spring Boot 1.5.x
  • 2.0.x 对应 Spring Boot 2.0.x
  • 2.1.x 对应 Spring Boot 2.1.x
  • 2.2.x 对应 Spring Boot 2.2.x
  • 2020.x 对应 Spring Boot 2.4.x
  • 2021.x 对应 Spring Boot 2.6.x
  • 2022.x 对应 Spring Boot 3.0.x
  • 2023.x 对应 Spring Boot 3.2.x

行为准则

本项目是 Spring Cloud 的子项目,遵循贡献者公约行为准则。参与时,您应遵守此准则。如遇到不可接受的行为,请向 spring-code-of-conduct@pivotal.io 报告。

代码约定和内务管理

这些不是拉取请求的必要条件,但都会有所帮助。它们可以在原始拉取请求之后但合并之前添加。

使用 Spring Framework 代码格式约定。如果使用 Eclipse,可以从 Spring Cloud Build 项目导入 eclipse-code-formatter.xml 文件的格式设置。如果使用 IntelliJ,可以使用 Eclipse Code Formatter 插件导入相同的文件。

确保所有新的 .java 文件都有简单的 Javadoc 类注释,至少包含一个标识您的 @author 标签,最好还有至少一段关于该类用途的说明。

为所有新的 .java 文件添加 ASF 许可头注释(从项目中的现有文件复制)。

如果您对 .java 文件进行了实质性修改(不仅仅是美化修改),请将自己添加为 @author。

添加一些 Javadocs,如果更改了命名空间,还要添加一些 XSD 文档元素。

一些单元测试也会有很大帮助 —— 总得有人来做这件事。

如果没有其他人使用您的分支,请将其重新基于当前的 2023.x(或主项目中的其他目标分支)。

在编写提交消息时,请遵循以下约定,如果您正在修复现有问题,请在提交消息末尾添加 Fixes gh-XXXX(其中 XXXX 是问题编号)。

联系我们

邮件列表是讨论几乎所有与 spring-cloud-alibaba 相关事项的推荐方式。

spring-cloud-alibaba@googlegroups.com:如果您在使用或开发 spring-cloud-alibaba 时遇到任何问题,可以在这里提问。

编辑推荐精选

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

热门AI工具生产力协作转型TraeAI IDE
蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI助手AI工具AI写作工具AI辅助写作蛙蛙写作学术助手办公助手营销助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

聊天机器人AI助手热门AI工具AI对话
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

热门AI工具AI办公办公工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

模型训练热门AI工具内容创作智能问答AI开发讯飞星火大模型多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

下拉加载更多