Spring Cloud阿里巴巴是构建分布式应用程序的综合解决方案,与阿里巴巴中间件无缝集成。它通过提供必要组件的一站式服务并需要最少的配置来简化开发。本文档详细介绍了其功能、组件、使用和贡献指南。
阿里巴巴Spring云
阿里巴巴维护的项目。
中文自述文件请参见中文文档。
Spring Cloud阿里巴巴为分布式应用开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用 Spring Cloud 开发应用程序。
使用Spring Cloud阿里巴巴,您只需要添加一些注解和少量的配置即可将Spring Cloud应用程序连接到阿里巴巴的分布式解决方案,并使用阿里巴巴中间件构建分布式应用系统。
特征
有关更多功能,请参阅路线图。
除了上述功能外,针对企业用户场景的需求,Spring Cloud Ali企业版的微服务引擎(MSE)提供了企业级微服务治理中心,其中包括灰度发布、服务等更强大的治理能力预热、无损在线和离线以及异常值剔除。同时还提供企业级Nacos注册/配置中心、企业级云原生网关等多种产品和解决方案。
成分
Sentinel:Sentinel以“流量”为切入点,提供流控、并发、熔断、负载保护等方面的解决方案,保障服务稳定性。
Nacos:一个易于使用的动态服务发现、配置和服务管理平台,用于构建云原生应用程序。
RocketMQ:低延迟、高性能、高可靠性、万亿级容量、灵活扩展的分布式消息和流媒体平台。
Seata:面向微服务架构的高性能、易用的分布式事务解决方案。
阿里云OSS:一种加密且安全的云存储服务,可以存储、处理和访问来自世界任何地方的海量数据。
阿里云短信:覆盖全球的短信服务,提供便捷、高效、智能的沟通能力,帮助企业快速联系客户。
阿里云SchedulerX:精准、高可靠、高可用的定时作业调度服务,秒级响应。
有关更多功能,请参阅路线图。
如何建造
Spring Cloud 使用 Maven 进行大多数与构建相关的活动,您应该能够通过克隆您感兴趣的项目并输入以下内容来快速开始工作:
如何使用
添加maven依赖
这些工件可通过 BOM 从 Maven Central 和 Spring Release 存储库获取:
将模块添加到依赖项中。如果您想选择旧版本,可以参考发行说明。
示例
我们的项目中包含了 spring-cloud-alibaba-examples 模块,可帮助您快速开始使用 Spring Cloud Obama。它包含一个示例,您可以参考示例项目中的自述文件来快速演练。
例子:
哨兵示例
Nacos 示例
RocketMQ示例
阿里云OSS示例
版本控制指南
项目的版本号以xxx的形式表示,其中x是一个数字,从0开始,不限于0~9的范围。当项目处于孵化器阶段时,版本号为0.xx
由于Spring Boot 1和Spring Boot 2的Actuator模块中的接口和注解发生了较大的变化,并且spring-cloud-commons从1.xx到2.0.0也发生了很大的变化,所以我们采用相同的版本规则SpringBoot版本号。
行为守则
该项目是Spring Cloud的子项目,遵守贡献者契约行为准则。通过参与,您应该遵守此准则。请将不可接受的行为报告至 [email protected]。
代码约定和内务管理
这些对于拉取请求来说都不是必需的,但它们都会有所帮助。它们也可以在原始拉取请求之后、合并之前添加。
使用 Spring 框架代码格式约定。如果您使用 Eclipse,则可以使用 Spring Cloud Build 项目中的 eclipse-code-formatter.xml 文件导入格式化程序设置。如果使用 IntelliJ,您可以使用 Eclipse Code Formatter 插件导入相同的文件。
确保所有新的 .java 文件都有一个简单的 Javadoc 类注释,其中至少有一个 @author 标记来标识您,并且最好至少有一段说明该类的用途。
将 ASF 许可证头注释添加到所有新的 .java 文件(从项目中的现有文件复制)
将您自己作为 @author 添加到您进行重大修改(不仅仅是外观更改)的 .java 文件中。
添加一些 Javadocs,如果更改命名空间,还添加一些 XSD 文档元素。
一些单元测试也会有很大帮助——必须有人来做。
如果没有其他人在使用您的分支,请根据当前 2023.x(或主项目中的其他目标分支)对其进行变基。
编写提交消息时请遵循以下约定,如果您要修复现有问题,请在提交消息末尾添加 Fixes gh-XXXX(其中 XXXX 是问题编号)。
联系我们
建议使用邮件列表来讨论与 spring-cloud-alibaba 相关的几乎所有内容。
[email protected]:如果您在使用或开发 spring-cloud-alibaba 时遇到任何问题,可以在这里提问。