版本兼容性
- Spring Boot: 3.5.0
- 发布代号: Northfields (按字母顺序命名传统)
- 主要变更: 包含破坏性变更,不支持平滑升级,细节请看这篇文章
Spring Cloud Gateway 重大更新
新增功能
1. Function & Stream 处理器集成
Gateway 现在原生支持spring-cloud-function 和 spring-cloud-stream 处理器:
- 支持函数式编程模型处理请求
- 集成消息驱动架构 (Kafka, RabbitMQ)
- 简化 Serverless 和事件驱动架构实现
2. Bucket4j 限流器支持
WebFlux 版本新增 Bucket4j 令牌桶算法支持:重要弃用
1. WebClientRouting 基础设施
- 状态: 已弃用,5.0 版本将移除
- 影响: 依赖此基础设施的路由逻辑需要迁移
- 建议: 使用 Gateway 提供的标准路由机制
2. 模块和启动器重命名
为明确区分 Web 技术栈和工作模式,引入新的命名规范:| 旧名称 | 新名称 | 说明 |
|---|---|---|
spring-cloud-gateway-server | spring-cloud-gateway-server-webflux | WebFlux 服务器模式 |
spring-cloud-gateway-server-mvc | spring-cloud-gateway-server-webmvc | WebMVC 服务器模式 |
spring-cloud-starter-gateway-server | spring-cloud-starter-gateway-server-webflux | WebFlux 启动器 |
spring-cloud-starter-gateway-server-mvc | spring-cloud-starter-gateway-server-webmvc | WebMVC 启动器 |
spring-cloud-gateway-mvc | spring-cloud-gateway-proxyexchange-webmvc | WebMVC 代理交换 |
spring-cloud-gateway-webflux | spring-cloud-gateway-proxyexchange-webflux | WebFlux 代理交换 |
破坏性变更
X-Forwarded-* 头部默认禁用
出于安全考虑,X-Forwarded-* 和 Forwarded 头部功能默认禁用。 配置受信任代理:Spring Cloud Config 增强
AWS S3 YAML Profile 支持
Config Server 现在支持从 S3 读取 profile 特定的 YAML 文件:Spring Cloud Kubernetes 更新
组合配置源支持
Kubernetes ConfigMap 和 Secret 现在可作为组合配置源:- 命令行参数
- 系统属性
- Kubernetes ConfigMap/Secret
- application.yaml
- 默认值
Spring Cloud Circuitbreaker 新特性
响应式隔离支持
新增对响应式编程模式支持:Spring Cloud Netflix 改进
Eureka 客户端增强
支持 Apache HTTP Client 5 的 RequestConfig 定制:版本更新清单
所有模块已更新至最新版本以确保与 Spring Boot 3.5.0 兼容:| 模块名称 | 版本 |
|---|---|
| Spring Cloud Config | 4.3.0 |
| Spring Cloud Gateway | 4.3.0 |
| Spring Cloud Kubernetes | 3.3.0 |
| Spring Cloud Circuitbreaker | 3.3.0 |
| Spring Cloud Netflix | 4.3.0 |
| Spring Cloud Build | 4.3.0 |
| Spring Cloud Openfeign | 4.3.0 |
| Spring Cloud Stream | 4.3.0 |
| Spring Cloud Commons | 4.3.0 |
| Spring Cloud Contract | 4.3.0 |
| Spring Cloud Consul | 4.3.0 |
| Spring Cloud Vault | 4.3.0 |
| Spring Cloud Function | 4.3.0 |
| Spring Cloud Bus | 4.3.0 |
| Spring Cloud Zookeeper | 4.3.0 |
| Spring Cloud Task | 3.3.0 |
| Spring Cloud Starter Build | 2025.0.0 |
升级指南
前置条件
- 升级 Spring Boot 至 3.5.0
- 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 版本之间存在日志依赖冲突问题,可能导致应用启动失败。 解决方案:- 可参考 PIG 微服务平台的解决方案 (https://gitee.com/log4j/pig/tree/jdk17-dev)
- 或通过显式排除冲突依赖并引入兼容版本
- 等待 Spring Cloud Alibaba 发布完全兼容的 2025.x 版本 (没啥希望了~)
