Skip to main content
Spring Cloud 是一套微服务解决方案,基于 Spring Boot 构建,提供了服务发现、配置管理、负载均衡、熔断降级、网关路由等微服务核心功能。

目录

学习路线

基础入门

  1. 微服务概述 - 微服务架构、Spring Cloud 组件
  2. 服务注册与发现 - Nacos、Eureka、负载均衡

核心组件

  1. 服务网关 - Spring Cloud Gateway、路由配置、过滤器
  2. 服务调用 - OpenFeign、声明式客户端、熔断降级
  3. 服务保护 - Sentinel、限流、熔断、降级
  4. 配置中心 - Nacos Config、配置动态刷新

微服务架构

                           ┌─────────────────┐
                           │    API 网关      │
                           │  (Gateway)      │
                           └────────┬────────┘

         ┌──────────────────────────┼──────────────────────────┐
         │                          │                          │
         ▼                          ▼                          ▼
┌────────────────┐        ┌────────────────┐        ┌────────────────┐
│   用户服务      │        │   订单服务      │        │   商品服务      │
│  (User)        │◄──────►│  (Order)       │◄──────►│  (Product)     │
└───────┬────────┘        └───────┬────────┘        └───────┬────────┘
        │                         │                         │
        └─────────────────────────┼─────────────────────────┘

                     ┌────────────┴────────────┐
                     │                         │
              ┌──────┴──────┐          ┌──────┴──────┐
              │ 注册中心     │          │ 配置中心     │
              │ (Nacos)     │          │ (Nacos)     │
              └─────────────┘          └─────────────┘

Spring Cloud 版本

Spring Cloud 采用英文单词命名版本(以伦敦地铁站命名),后改为年份命名。
Spring CloudSpring Boot说明
2022.0.x3.0.x最新版本
2021.0.x2.6.x/2.7.x稳定版本
2020.0.x2.4.x/2.5.x
Hoxton2.2.x/2.3.x
Greenwich2.1.x

核心组件

组件功能替代方案
Eureka服务发现Nacos、Consul、Zookeeper
Ribbon负载均衡LoadBalancer
Feign服务调用OpenFeign
Hystrix熔断降级Sentinel、Resilience4j
Zuul服务网关Spring Cloud Gateway
Config配置中心Nacos Config、Apollo
Bus消息总线Nacos
Sleuth链路追踪SkyWalking

Spring Cloud Alibaba

Spring Cloud Alibaba 是阿里巴巴提供的 Spring Cloud 实现,包含:
组件功能
Nacos服务发现 + 配置中心
Sentinel流量控制、熔断降级
Seata分布式事务
RocketMQ消息队列
DubboRPC 框架
<!-- Spring Cloud Alibaba 依赖管理 -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>2022.0.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

参考资料