SpringCloud微服务项目快速搭建(SpringCloud Alibaba)

一、概述

        Spring Cloud Alibaba 是 Spring Cloud 和 Alibaba 面向微服务架构的一站式解决方案,为 Spring Cloud 生态中的各个组件提供了与 Alibaba 中间件的衔接、更方便、更易用的快速开发微服务的能力和支持

二、常用组件

  1. Nacos:服务注册和发现、配置中心,提供服务注册和发现、分布式配置等能力。
  2. Sentinel:流量控制、服务降级,提供实时应用监控和在线准入控制等能力。
  3. RocketMQ:消息服务,提供可靠消息服务和消息轨迹等能力。
  4. Seata:分布式事务,提供高性能和高可靠性的分布式事务支持。
  5. Dubbo:RPC 框架,提供高性能、低延迟的远程服务调用能力。
  6. Alibaba Cloud SDK:阿里云支持库,提供云计算基础设施的能力。

三、 SpringCloud Alibaba的优点

        1. 基于 Spring Cloud:Spring Cloud 是一个已经成熟的微服务框架,而 Spring Cloud Alibaba 是在 Spring Cloud 上进行扩展和增强的,能够提供更好的微服务架构支持。
        2. 丰富的阿里云中间件支持:Spring Cloud Alibaba 可以集成多种阿里云中间件,包括服务注册和发现、配置中心、消息队列、分布式事务等,为企业级微服务应用提供了更好的支持。
        3. 强大的性能和可靠性:基于阿里巴巴的技术和经验,Spring Cloud Alibaba 在性能和可靠性方面都有很好的保证,适合高并发、高负载的企业级应用场景。
        4. 易用性和效率高:Spring Cloud Alibaba 的各个组件都提供了丰富的文档和示例,开发者能够很快上手进行编程实现,提高开发效率。
        5. 社区活跃:Spring Cloud Alibaba 的社区活跃度很高,有很多优秀的开发者进行贡献和维护,能够及时解决问题和提供支持。

四、项目搭建

1、创建一个父项目导入依赖

 <!--SpringCloud-->
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-alibaba-dependencies</artifactId>
        <version>2.2.1.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-dependencies</artifactId>
        <version>Hoxton.SR3</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

2、安装启动Nacos

3、添加Nacos依赖

   <dependency>
            <groupId>com.alibaba.cloud </groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>

4、启动类加注解服务注册@EnableDiscoveryClient

5、yml配置Nacos配置中心信息

spring:
  main:
    allow-bean-definition-overriding: true
  profiles:
    active: dev
  application:
    name: service-user
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #注册中心
      config:
        server-addr: localhost:8848 #配置中心
        file-extension: yaml #配置文件格式
        prefix: application-user #配置前缀 ,默认使用sring.application.name
        group: DEFAULT_GROUP
        namespace: 

6、配置Feign调用接口,在使用Feign调用接口时,需要添加相关依赖并在启动类上使用@EnableFeignClients注解开启Feign的功能

7、安装启动Sentinel

8、配置Sentinel限流熔断,在pom.xml中添加Sentinel的相关依赖

   <!--sentinel依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
        </dependency>

9、yml配置开启 Sentinel

feign:
  sentinel:
    enabled: true

猜你喜欢

转载自blog.csdn.net/lzc19991201/article/details/131355083