Java 网关聚合多模型实现 failover、熔断、计量与鉴权治理
网关层统一鉴权/路由/熔断/计量,Resilience4j 保护上游,Caffeine 缓存,Prometheus 监控,Python 编排层无感切换模型
✓ 模型故障自动切换不中断✓ AOP 切面无侵入统计 token 成本 ✕ 引入 Java/Python 双语言栈,
方案简介
本方案是 myAiVideos 的中台治理层:以 Spring Boot 3.5 构建 Java 网关,聚合 DeepSeek / Qwen / GLM 等多个 AI 模型,通过 Resilience4j 熔断保护实现模型故障自动切换,并提供 JWT 鉴权、路由、计量与可观测能力,位于前端与 FastAPI 编排层之间。
亮点与能力
- JWT 鉴权与 TraceId 透传
- 多模型 failover:模型故障自动切换
- Resilience4j 熔断保护
- 计量与限流:AOP 切面无侵入统计 token / 成本,按租户聚合
- 可观测:Prometheus 指标 + Langfuse 调用树,trace_id 跨 Java/Python 双语言透传
组成与分工
- Spring Boot 3.5:网关主体框架,提供鉴权 / 路由 / failover / 熔断 / 计量
- WebClient:响应式调用上游模型 API
- Resilience4j:熔断保护与故障切换
- Caffeine:本地缓存
- Prometheus:指标监控
- JWT:
GATEWAY_AUTH_JWT_SECRET签名(≥ 32 字节)
实施步骤
1. 配置网关密钥
在 .env 中配置:
| 变量 | 用途 |
|---|---|
| GATEWAY_AUTH_JWT_SECRET | Java 网关 JWT 签名(≥ 32 字节)|
2. 启动网关
bash
docker compose up -d gateway
3. 验证健康
Java Gateway 健康检查地址:,更多细节见 gateway/README.md。
注意事项与常见问题
- JWT 签名密钥长度要求 ≥ 32 字节
- 网关为可选组件:
(可选)启动 Java 网关,基础管线不依赖网关也能运行 ATLASCLOUD_API_KEY为可选 Atlas Cloud Media API 后端,当VISUAL_IMAGE_PROVIDER或VISUAL_VIDEO_PROVIDER设为atlascloud时使用
优缺点
- ✓ 模型故障自动切换不中断
- ✓ AOP 切面无侵入统计 token 成本
- ✕ 引入 Java/Python 双语言栈,
出处
本方案挖掘自开源项目 myccarl/ai-shortVideo-pipeline,方案内容与实施命令均来自其 README 原文。
方案出处
myccarl/ai-shortVideo-pipeline:End-to-end AI short-video production pipeline. FastAPI orchestration + Spring Bo 626 star End-to-end AI short-video production pipeline. FastAPI orchestration + Spring Boot gateway with multi-model failover, circuit breaker, metering, and full-stack observability. AI quality gating: prompt
本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。