Spring Cloud Alibaba (https://sca.aliyun.com/en-us/) 为分布式应用程序开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用 Spring Cloud 开发应用程序。
使用 Spring Cloud Alibaba,您只需添加一些注解和少量配置,即可将 Spring Cloud 应用连接到阿里云的分布式解决方案,并使用阿里云中间件构建分布式应用系统。
特征
Spring Cloud
-
流量控制和服务降级:使用阿里巴巴 Sentinel 进行流量控制、熔断和系统自适应保护
-
服务注册和发现:实例可以在 Alibaba Nacos 上注册,客户端可以使用 Spring 管理的 bean 发现实例。通过 Spring Cloud Netflix 支持 Ribbon 客户端负载均衡器
-
分布式配置:使用 Alibaba Nacos 作为数据存储
-
事件驱动:构建与 Spring Cloud Stream RocketMQ Binder 连接的高扩展性事件驱动微服务
-
消息总线:使用 Spring Cloud Bus RocketMQ 链接分布式系统的节点
-
分布式事务:支持 Seata 的高性能和易用性的分布式事务解决方案
-
Dubbo RPC:通过 Apache Dubbo RPC 扩展 Spring Cloud service-to-service 调用的通信协议
Spring 引导
所有 Spring Boot Starters 都在阿里云 Spring Boot Project 中维护。
开始
最简单的入门方法是包含 Spring Cloud BOM,然后添加到应用程序的 Classpath 中。如果您不想包含所有 Spring Cloud Alibaba 功能,则可以为所需的功能添加单独的启动器。spring-cloud-alibaba-dependencies
pom 中的依赖项:spring-cloud-alibaba-dependencies
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>{project-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
如果您想将 Spring Boot Starters 用于阿里云服务,您应该将 Aliyun Spring Boot BOM 添加到您的pom.xml中:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>aliyun-spring-boot-dependencies</artifactId>
<version>{project-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
在阿里云上运行 Spring Boot/Cloud 应用程序
企业分布式应用服务(Enterprise Distributed Application Service,简称 EDAS)是一种面向应用托管和微服务管理的平台即服务(PaaS,Platform as a Service,PaaS)服务,提供应用开发、部署、监控、运维等全栈解决方案。它支持 Apache Dubbo、Spring Cloud 等微服务运行环境,帮助您轻松将应用程序迁移到阿里云。
按照本教程准备一个 Java Spring Boot/Cloud 应用,以便在 EDAS 中部署。
微服务引擎 (MSE) 是主流开源微服务框架 Spring Cloud 的微服务平台,包括治理中心和 Zookeeper、Eureka 和 Nacos 等全托管注册/配置中心。
您的应用无需修改代码和配置,即可通过 javaagent 技术享受产品提供的全面微服务治理能力。
MSE 还通过托管注册/配置中心,提供 zookeeper、Nacos 和 Eureka 等高可用、免运维的集群,完全兼容开源产品的标准接口。
按照本教程为 MSE 中的服务注册中心构建 Nacos Engine。