在实际使用 AI 服务进行开发时,经常会受到限流、异常断连、服务商兼容性限制等因素影响,导致调用链路不稳定,开发过程需要频繁切换不同的模型与平台。同时,各家厂商在接口协议、请求格式和流式响应方式上存在明显差异,使得客户端接入成本较高、维护复杂。
AI-Gateway 的目标是提供一个面向多协议、多提供商的统一接入层,通过协议适配、统一模型抽象、动态路由与故障转移机制,向外暴露稳定一致的 AI API 服务,减少客户端适配工作,并增强系统的可用性与扩展性。
AI-Gateway — 多协议 AI API 统一网关
基于 Spring Boot WebFlux 构建的高性能 AI API 网关,支持 OpenAI Chat / OpenAI Responses / Anthropic Messages / Gemini 四种协议的统一接入、协议互转、模型路由、故障转移与可视化管理。前端采用 Vue 3 + Element Plus 实现管理控制台,Maven 一体化构建。
Java 21、Spring Boot 3.3、WebFlux(响应式)、MySQL + MyBatis + Flyway、Redis、JWT、AES-256-GCM、Vue 3 + TypeScript + Element Plus、Docker、Prometheus + Actuator
1. 多协议适配引擎(策略模式 + 统一模型)
ProtocolAdapter 策略接口,实现 OpenAI Chat、OpenAI Responses、Anthropic Messages、Gemini 四种协议的请求解析与响应编码UnifiedRequest / UnifiedResponse / UnifiedStreamEvent 统一模型,核心编排层完全协议无关,新增厂商仅需实现 Provider + Adapter 两个类2. 双层模型路由 + 运行时热更新
RoutingSnapshotHolder 原子交换机制,管理后台修改路由规则后秒级生效,无需重启服务3. 故障转移 + 熔断(响应式链路)
switchIfEmpty 链式编排实现多候选 Provider 按优先级自动切换provider + model 维度管理熔断状态,跳过已熔断节点,提高请求成功率4. 流式 SSE 代理(全协议支持)
data: [DONE]、Anthropic 的命名事件流、Gemini 的 NDJSONStreamContext 上下文管理,处理 Anthropic 的 content_block_start/delta 分段等协议差异5. 双层鉴权 + 安全存储
ak- 前缀密钥,SHA-256 哈希存储,校验状态/过期时间/用量限制6. 异步统计 + 可观测性
Sinks 实现请求日志与聚合统计的异步批量刷写,不阻塞主请求链路7. 管理后台(Vue 3 全栈)
frontend-maven-plugin 集成到 Maven 构建,mvn clean package 一键输出含前端的可执行 JAR本文作者:宋书廷
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!