Skip to main content
Spring Cloud 2025.0.0 “Northfields” 于 2025年5月29日正式发布,完全兼容 Spring Boot 3.5.0。本版本在微服务架构的多个核心组件上进行了重要改进和功能增强。

版本兼容性

  • Spring Boot: 3.5.0
  • 发布代号: Northfields (按字母顺序命名传统)
  • 主要变更: 包含破坏性变更,不支持平滑升级,细节请看这篇文章

Spring Cloud Gateway 重大更新

新增功能

1. Function & Stream 处理器集成

Gateway 现在原生支持 spring-cloud-functionspring-cloud-stream 处理器:
技术优势:
  • 支持函数式编程模型处理请求
  • 集成消息驱动架构 (Kafka, RabbitMQ)
  • 简化 Serverless 和事件驱动架构实现

2. Bucket4j 限流器支持

WebFlux 版本新增 Bucket4j 令牌桶算法支持:

重要弃用

1. WebClientRouting 基础设施

  • 状态: 已弃用,5.0 版本将移除
  • 影响: 依赖此基础设施的路由逻辑需要迁移
  • 建议: 使用 Gateway 提供的标准路由机制

2. 模块和启动器重命名

为明确区分 Web 技术栈和工作模式,引入新的命名规范:

破坏性变更

X-Forwarded-* 头部默认禁用

出于安全考虑,X-Forwarded-* 和 Forwarded 头部功能默认禁用。 配置受信任代理:
安全影响: 防止恶意伪造代理头部,需要显式配置信任边界。但如果下游业务有依赖此请求头,请及时处理。

Spring Cloud Config 增强

AWS S3 YAML Profile 支持

Config Server 现在支持从 S3 读取 profile 特定的 YAML 文件:
文件结构示例:
Config Server 将根据激活的 profile 自动加载对应配置文件。

Spring Cloud Kubernetes 更新

组合配置源支持

Kubernetes ConfigMap 和 Secret 现在可作为组合配置源:
配置优先级:
  1. 命令行参数
  2. 系统属性
  3. Kubernetes ConfigMap/Secret
  4. application.yaml
  5. 默认值

Spring Cloud Circuitbreaker 新特性

响应式隔离支持

新增对响应式编程模式支持:
配置示例:

Spring Cloud Netflix 改进

Eureka 客户端增强

支持 Apache HTTP Client 5 的 RequestConfig 定制:

版本更新清单

所有模块已更新至最新版本以确保与 Spring Boot 3.5.0 兼容:

升级指南

前置条件

  1. 升级 Spring Boot 至 3.5.0
  2. Java 版本: 确保使用 Java 17+

升级步骤

1. 更新 BOM 版本

2. Gateway 模块迁移

3. 配置属性迁移

4. 安全配置更新

5. Spring Cloud Alibaba 兼容性注意事项

如果您的项目集成了 Spring Cloud Alibaba 组件,需特别注意 Spring Cloud 2025.0.0 与 Spring Cloud Alibaba 2023.0.3 版本之间存在日志依赖冲突问题,可能导致应用启动失败。 解决方案:
  1. 可参考 PIG 微服务平台的解决方案 (https://gitee.com/log4j/pig/tree/jdk17-dev)
  2. 或通过显式排除冲突依赖并引入兼容版本
  3. 等待 Spring Cloud Alibaba 发布完全兼容的 2025.x 版本 (没啥希望了~)
dCnrLJ