【Spring Cloud Alibaba】15. 构建Spring Cloud Alibaba

450 阅读2分钟

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>