Spring Cloud Alibaba
阿里云为分布式应用开发提供了一站式解决方案。它包含了开发分布式应用程序所需的所有组件,使您可以轻松地使用Spring Cloud开发应用程序。
有了阿里云,你只需要添加一些注解和少量的配置,就可以将Spring云应用连接到阿里的分布式解决方案上,用阿里中间件搭建一个分布式应用系统。
与前文解决方案的区别
Spring Cloud Alibaba主要使用自己提供的组件,替换了Spring Cloud官方支持的但是现在已经停止维护、闭源和不成熟的组件。从而构成Alibaba的一套更好,更轻量级的微服务架构一站式解决方案。
- 使用Nacos替代Consul作为服务注册中心。
- 服务通信方式不变,依旧可以部署Ribbon和OpenFeign。
- 使用Sentinel替代Hystrix作为服务保护器。
- 网关不变,依旧是Spring Cloud Gateway。
- 将Spring Cloud Config和Spring Cloud Bus封装进Nacos,实现配置仓库和配置自动刷新。
综上所述,Spring Cloud Alibaba主要替换了前文Spring Cloud解决方案中的两大组件,一大组件替换了统一配置中心和服务注册中心,另一大组件替换了保护器(断路器)。通信方式和网关没有变化。
可见,使用Spring Cloud Alibaba提供的解决方案比前文提供的Spring Cloud解决方案更佳简化了开发。
基础环境搭建
Spring Cloud Alibaba 版本号不再是英文单词,而是沿用通用的版本表示,本文主要讲述2.2.1.RELEASE
版本,与Spring Boot 2.2.x
版本相适配。
和Spring Cloud搭建环境一样,Spring Cloud Alibaba也支持从云中心库来搭建。搭建完成后,并不会在本地引入依赖,全部依赖从云上获取。
配置框架参考《Spring Cloud企业级工程搭建》,在父工程原先配置的基础上添加Spring Cloud Alibaba的版本和中心库配置,使得Spring Cloud和Spring Cloud Alibaba配合使用,从而能将Spring Cloud中的组件和Spring Cloud Alibaba中的组件整合成一套Spring Cloud Alibaba的微服务一站式解决方案。
配置父工程porm.xml:
<properties>
<spring.cloud.alibaba.version>2.2.1.RELEASE</spring.cloud.alibaba.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring.cloud.alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>