Spring Cloud

返回 Java 知识体系

Spring Cloud 是在 Spring Boot 之上构建的微服务工具集:服务发现、配置、网关、调用、容错、消息、可观测性。国内项目通常采用 Spring Cloud Alibaba(Nacos、Sentinel、Seata 等)与官方组件组合。

本文是 Java 落地指南;概念、选型与全景见 架构 知识库。实现 Redis、分库分表、分布式事务时,务必对照下方「基础设施」章节。


技术栈与版本(参考)

组件常用版本线说明
Spring Boot3.2+基座
Spring Cloud2023.0.x(Leyton)官方发行列车
Spring Cloud Alibaba2023.0.xNacos、Sentinel、Seata 等
JDK17 / 21Boot 3 最低 17
<!-- BOM 统一管理版本(示例) -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-dependencies</artifactId>
      <version>2023.0.3</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <dependency>
      <groupId>com.alibaba.cloud</groupId>
      <artifactId>spring-cloud-alibaba-dependencies</artifactId>
      <version>2023.0.1.2</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

请求在微服务中的典型路径

Client
  ▼
[[Spring Cloud/API网关|Spring Cloud Gateway]]  ← 鉴权、限流、路由、熔断
  ▼
[[Spring Cloud/服务注册与发现|注册中心]](Nacos / Eureka)← 实例列表
  ▼
[[Spring Cloud/服务调用|OpenFeign]] + [[Spring Cloud/负载均衡|LoadBalancer]]
  ▼
业务服务 → [[Spring Boot/数据访问|数据访问]] / [[Spring Boot/Redis集成|Redis]] / [[Spring Cloud/消息驱动|Stream]]
  ▼
[[架构/消息队列|MQ]] / [[数据库/关系型/MySQL|MySQL]] / [[数据库/NoSQL/Redis|Redis]]

Spring Cloud 组件(本目录)

基础

文档内容
Spring Cloud 基础发行列车、核心抽象、微服务拆分原则
多环境管理Namespace 隔离、配置热刷新、敏感配置加密

服务治理

文档内容
服务注册与发现Nacos Discovery、Eureka、健康检查
负载均衡Spring Cloud LoadBalancer
Ribbon遗留客户端 LB(维护模式)
服务调用OpenFeign、声明式 HTTP
API 网关Gateway 路由、过滤、Redis 限流
熔断与限流Resilience4j、与 Sentinel 对照
配置中心Nacos Config、Config Server
微服务安全JWT 传播、Gateway 鉴权、服务间互信
灰度发布Nacos 元数据 + Gateway 流量染色、按比例分流
分布式任务调度XXL-Job、Elastic-Job、ShedLock
服务网格Istio、Envoy Sidecar、mTLS、VirtualService

异步与可观测

文档内容
消息驱动Spring Cloud Stream、Binder
链路追踪Micrometer Tracing、Zipkin

分布式数据

文档内容
分布式与数据层总览:Redis、库边界、与架构对照
ShardingSphere 集成分库分表、读写分离
Seata 分布式事务AT/TCC、与 Feign
数据同步与 CDCCanal、Kafka 消费、缓存/ES 同步

消息队列

文档内容中间件
消息驱动Stream、Binder 通用模型消息队列
Kafka 集成Stream / Spring KafkaKafka
RabbitMQ 与 RocketMQAMQP、RocketMQ StarterRabbitMQRocketMQ

Spring Cloud Alibaba

文档内容中间件
Nacos 集成注册 + 配置一体Nacos
Sentinel 集成限流、熔断、GatewaySentinel

中间件对照总表


与架构知识库对照

Spring Cloud 能力架构专题中间件 / 实现
Gateway 路由、限流API 网关流量入口层Gateway 实战
注册发现服务注册与发现NacosEurekaConsul
Feign / LBRPC 与服务通信LoadBalancer、Nacos 元数据
配置中心配置中心Nacos Config、配置中心实战
Stream / MQ消息队列KafkaRocket
熔断限流削峰与限流SentinelResilience4j
链路追踪可观测性Zipkin、Jaeger、Micrometer
高并发场景高并发缓存、MQ、库存、幂等
K8s / 云原生云原生概述KubernetesK8s 部署

Redis 与分布式(必读)

微服务里 Redis 常见用途与文档入口:

用途Spring 侧原理 / 运维
缓存、热数据缓存Redis 集成缓存架构Redis
分布式锁分布式锁Redis 锁、秒杀库存
网关限流Gateway RequestRateLimiter限流
Session 共享Session 管理Redis 集群
接口幂等接口幂等性支付回调幂等
排行榜 / 计数排行榜点赞计数

集群、哨兵、分片、缓存三大问题见 Redis高并发缓存


数据库与数据层

主题Spring Boot 实践架构 / 中间件
ORM / SQLJPAMyBatisMyBatis-Plus数据库架构
事务事务管理本地事务 vs 分布式
读写分离读写分离主从、MySQL
分库分表 / 分布式库ShardingSphere分布式数据库ShardingSphere
分布式事务SeataSeata
数据同步CDCCanalCDC
连接池连接池配置HikariCP
迁移数据库迁移Flyway / Liquibase
高并发写异步与线程池数据层设计

Spring Boot 衔接(单服务 → 微服务)

能力单应用(Boot)微服务(Cloud)
配置配置管理ProfileNacos Config
HTTP 调用RestTemplateWebClientOpenFeign
限流限流Gateway + Resilience4j
监控Actuator链路追踪全链路 + 可观测性
MQ消息队列Stream

学习顺序建议

  1. Spring Boot 基础 + 分层模型
  2. 注册发现 + 负载均衡
  3. OpenFeign + 熔断限流
  4. 网关 + 配置中心
  5. Redis + ShardingSphere / Seata
  6. KafkaRocket + CDC
  7. Nacos + Sentinel + 链路追踪
  8. 对照 系统全貌高并发 做压测与治理

相关