Spring Cloud 阿里云(https://sca.aliyun.com/en-us/)为分布式应用开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用 Spring Cloud 开发应用程序。
使用 Spring Cloud Alibaba,只需添加一些 Comments 和少量配置,即可将 Spring Cloud 应用连接到阿里巴巴的分布式解决方案,并使用阿里中间件构建一个分布式应用系统。
特征
Spring Cloud
-
流量控制和服务降级:使用阿里巴巴哨兵进行流量控制、断路和系统自适应保护
-
服务注册和发现:实例可以在阿里巴巴 Nacos 中注册,客户端可以使用 Spring 管理的 bean 发现实例。支持 Ribbon,通过 Spring Cloud Netflix 的客户端负载均衡器
-
分布式配置:使用阿里 Nacos 作为数据存储
-
事件驱动:构建与 Spring Cloud Stream RocketMQ Binder 连接的高度可扩展的事件驱动微服务
-
消息总线:使用Spring Cloud Bus RocketMQ链接分布式系统的节点
-
分布式事务:支持与 Seata 一起实现高性能和易用性的分布式事务解决方案
-
Dubbo RPC:Apache Dubbo RPC 扩展 Spring Cloud 服务到服务调用的通信协议
弹簧靴
所有 Spring Boot Starter 都在阿里云 Spring Boot 项目中维护。
开始
最简单的入门方法是包含 Spring Cloud BOM,然后添加到应用程序的类路径中。如果您不想包含所有 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 用于阿里云服务,您应该将阿里云 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 应用程序
企业分布式应用服务(EDAS)是一种用于应用托管和微服务管理的平台即服务(PaaS)服务,提供应用开发、部署、监控、运维等全栈解决方案。它支持 Apache Dubbo、Spring Cloud 和其他微服务运行时环境,帮助您轻松地将应用程序迁移到阿里云。
按照本教程准备一个 Java Spring Boot/Cloud 应用程序,以便在 EDAS 中部署。
微服务引擎(MSE)是面向主流开源微服务框架Spring Cloud的微服务平台,包括治理中心和全托管注册/配置中心,如Zookeeper、Eureka和Nacos。
您的应用可以通过 javaagent 技术,无需修改代码和配置,即可享受产品提供的全面微服务治理能力。
MSE还提供zookeeper、Nacos、Eureka等高可用、免运维的集群,通过托管注册/配置中心,完全兼容开源产品的标准接口。
按照本教程在MSE中构建用于服务注册表的Nacos引擎。