跳转到内容

Spring Cloud Alibaba

Spring Cloud Alibaba 是一组把 Nacos、Sentinel、RocketMQ 等能力接入 Spring Cloud 契约的适配器集合。

Spring Cloud Alibaba 的源码重点在“如何把外部中间件能力接入 Spring 扩展点”,而不是重复讲 Nacos、Sentinel 或 RocketMQ 本身:

  1. 自动配置如何发现并创建适配组件?
  2. Nacos 配置和服务发现如何映射成 Spring Environment、注册表和事件?
  3. Sentinel 规则如何进入应用内的限流、熔断和保护链?
  4. RocketMQ Binder 如何把消息通道、生产者和消费者接入 Spring Cloud Stream?
  5. 外部系统不可用时,适配层提供什么缓存、降级和重试边界?

读完整册后,应当能区分“上游组件的核心机制”和“Spring Cloud Alibaba 的适配责任”。

项 值
仓库 alibaba/spring-cloud-alibaba
本地路径 E:\source\java\spring\spring-cloud-alibaba
分支 2025.1.x
Commit 115d5901102009492e05d5ec18c3f79cad4077d0(2026-08-04)
最近 tag 2025.1.0.0

本册所有源码坐标均基于上述 commit。

  • 把第三方客户端生命周期接入 Spring Boot 自动配置。
  • 把 Nacos 配置、服务发现、Sentinel 规则、RocketMQ 消息包装成 Spring Cloud 标准接口。
  • 在外部系统不可用时提供缓存、可选导入、错误分析和失败回调。
模块 适配对象 Spring 扩展点
spring-alibaba-nacos-config Nacos Config ConfigDataLocationResolver、ConfigDataLoader
spring-cloud-starter-alibaba-nacos-discovery Nacos Naming DiscoveryClient、ServiceRegistry
spring-cloud-starter-alibaba-sentinel Sentinel 自动配置、拦截器、SmartInitializingSingleton
spring-cloud-starter-stream-rocketmq RocketMQ Spring Cloud Stream Binder
  1. 各 starter 的 AutoConfiguration.imports。
  2. Nacos 配置:NacosConfigDataLocationResolver -> NacosConfigDataLoader。
  3. Nacos 发现:NacosDiscoveryClient、NacosServiceRegistry。
  4. Sentinel:SentinelAutoConfiguration、SentinelDataSourceHandler。
  5. RocketMQ:RocketMQBinderAutoConfiguration -> RocketMQMessageChannelBinder。
对象 对照点
Spring Boot 复用条件装配、Config Data 与 Environment 扩展点
Spring Cloud OpenFeign 都把第三方能力包装成标准接口,再延迟创建
Spring Cloud Gateway Sentinel 以 Web 拦截器/过滤器接入请求边界