W7D4 学习手册 1.Gateway定位2.路由3.重试/Fallback4.成本5.Trace 6.限流7.演进W1D48.自研vsLiteLLM9.平台能力10.高可用 资源达标①达标②自测速记

FDE W7D4 学习手册 · AI Gateway 自研核心

W7 周级拆解 Day4 · A 级 + B 级(必须掌握 + 架构权衡,面试核心)· 约 4h · 学完能讲清"自研 AI Gateway 的核心模块,以及什么该自研、什么直接用 LiteLLM"

本日定位:W1D4 我们做过"多模型统一接入"原型;W7D4 把它演进成生产级 AI Gateway:在接入层统一做 Model Adapter / Provider 路由 / 超时重试 / Fallback / Token 成本统计 / Trace Hook / 简单限流。这是"企业 AI 平台"真正的中枢,也是区分"会用框架"和"懂平台架构"的分水岭。
学完能回答:① AI Gateway 核心模块(路由/重试/Fallback/限流/Trace)各自做什么;② 自研 Gateway 和直接用 LiteLLM 的取舍(什么自研、什么用现成)。
使用方法:通读原理 → 重点看「🔧 工程含义」「🎤 面试话术」「⚠ 易错点」→ 做末尾自测清单 → 配合《FDE-W7D4-评测题.md》。候选人背景:36 岁,Java + 大数据 + 医疗保险,回答落到"Java 企业 AI 平台"能力,场景用保险知识库 / 特药理赔 Agent。

一、AI Gateway 定位(从 W1D4 演进)

1.1 是什么

AI Gateway 是横在"所有 AI 应用"和"所有模型 Provider"之间的统一接入层,对所有 LLM 流量做集中治理:路由、重试、Fallback、成本、Trace、限流。所有应用不直接调厂商 API,而是调 Gateway。

N 个 AI 应用 ──统一──> AI Gateway ──路由──> {Qwen / DeepSeek / Claude / 自建模型}

1.2 与 Spring AI(W7D1~D3)的分层

角色负责
接入层AI Gateway(本日)跨业务线:鉴权、路由、限流、成本、Trace
应用层Spring AI(W7D1~D3)业务编排、Advisor 治理、Tool、Memory
W1D4 是"轻量多模型统一接入"原型(统一 HTTP + 响应);W7D4 是同一思路的企业级演进:加上限流/成本/Trace/Fallback,从"能用"到"可治理、可运营"。
Gateway 是"平台能力"的物理载体——没有它,每个 AI 应用都要自己写限流/成本/审计,且无法全局看成本。对保险集团多业务线(车险/健康险/理赔)统一管控 AI 成本与合规尤其关键。
AI Gateway 是横在 AI 应用和模型 Provider 之间的统一接入层,集中做路由/重试/Fallback/成本/Trace/限流。它是 W1D4 原型的演进版(加了治理)。与 Spring AI 分层:Gateway 在接入层做跨业务线治理,Spring AI 在应用层做业务编排。
① Gateway 不是"银弹"——它管横切治理,不替你写业务逻辑。别把所有 Agent 逻辑塞进 Gateway。② Gateway 本身是高可用单点,挂了全公司 AI 瘫痪,必须无状态、可水平扩展、降级兜底。③ 别和 Spring AI 功能重叠——Spring AI 的 Advisor 治理是应用级,Gateway 是全局级,职责分清楚。

二、Model Adapter / Provider 路由

2.1 路由维度

2.2 Model Adapter

每个 Provider 一个 Adapter,把厂商请求/响应规范成 Gateway 内部统一结构(呼应 W1 自研 Adapter)。Gateway 据此做路由,业务无感知。

public interface ModelAdapter {
    ChatResponse chat(ChatRequest req);          // 统一请求/响应
    String provider();                           // qwen/deepseek/claude
    boolean healthy();
}
// 路由:按场景选 adapter
ModelAdapter a = router.select(req.scenario(), req.userTier());
return a.chat(req);
路由是 Gateway 的"大脑"——把正确的请求送到正确的模型。生产中路由规则应是可配置的(规则引擎/配置中心),不要硬编码,方便运营随时调(如把某场景从 DeepSeek 切回 Qwen 控本)。
Model Adapter 把每个 Provider 的请求/响应规范成统一结构;Provider 路由按场景/健康/成本/用户分层选模型。路由规则应可配置,便于运营随时调,而不是硬编码。
① 路由规则若硬编码,运营调一次要发版,不可接受——要外置到配置中心。② 路由到不健康 Provider 前要健康检查,否则雪崩。③ 多维度路由(场景+成本+用户)叠加时优先级要清晰,避免规则冲突。

三、超时重试与 Fallback

3.1 重试

3.2 Fallback

主模型持续失败时,切到备选模型(如 DeepSeek 挂了→Qwen),返回结果并标记 `fallback=true` 供上游感知。Fallback 是"降级保可用"的关键。

主模型调用 → 失败(超阈值) → 切 Fallback 模型 → 返回 + 标记 fallback
重试 + Fallback 保证"模型抖动不传导给用户"。保险理赔场景:主推理模型故障时,Fallback 到次选模型仍能给出结论,避免理赔流程卡死。但要记录 Fallback 事件用于质量分析。
重试只针对超时/429/5xx,指数退避+抖动;Fallback 在主模型持续失败时切备选模型并返回 fallback=true。两者保证模型抖动不传导给用户,但都要记录事件供分析。
① 重试 + Fallback 叠加可能放大大延迟——要设总超时上限(如主 3s + 备 3s)。② Fallback 到弱模型可能输出质量下降,上游要知道(fallback 标记)并可能走人工复核。③ 别对"答案不满意"做 Fallback,Fallback 是可用性兜底不是质量兜底。

四、Token 成本统计

4.1 统计什么

4.2 配额与预算

按业务线设月度预算,超阈值降级或拦截;按用户设日调用上限。这是"AI 成本可控"的核心。

大数据背景优势:成本数据进 Kafka+数仓做实时/离线分析,按险种/场景核算 AI 投入产出;医疗保险背景优势:理解"成本必须分摊到业务线"的财务合规诉求。
成本统计必须在 Gateway 做——它是唯一能看到所有 AI 流量的地方。应用层各自统计会重复且不一致。成本数据是后续"路由按预算降级"的输入。
Gateway 是唯一能看到全部 AI 流量的点,在它做 token/成本统计最全:按 provider/模型/业务线/用户统计,真实 usage 进数仓,超预算降级或拦截。这是 AI 成本可控的核心。
① 成本统计要算重试/Fallback 的额外 token,否则账单偏低。② 缓存命中(同 prompt 复用)要扣除,否则虚高。③ 成本数据延迟会导致预算超支才发现,要近实时告警。

五、Trace Hook

5.1 作用

Gateway 在 HTTP 出口生成/透传 trace_id,记录 model/provider/token/latency/status,和 W7D3 应用层 Advisor 的 trace_id 必须是同一个,形成端到端链路。

入口生成 trace_id ──> Gateway 出口记(model/provider/token/latency) ──> 应用层 Advisor 续用同一 trace_id

5.2 与 W4 / W7D3 衔接

Trace Hook 让"一次理赔请求从用户到模型再回来"全可见。保险合规要求审计,Trace 是审计的数据基础。Gateway 是 trace 的起点,务必在这里生成并向下游透传。
Gateway 在入口生成 trace_id、出口记 model/provider/token/latency/status,和 W7D3 应用层同一 trace_id 串联。W4 定规范、W7D3 应用层实现、W7D4 接入层实现,三处合一。

六、简单限流(维度 / 算法)

6.1 限流维度

维度防什么示例
按 API Key / 用户单用户刷爆每用户 100 req/min
按 Provider打爆某厂商配额Qwen 总 1000 req/min
按业务线某业务挤占他人理赔线独占 60% 配额
按 Token 速率长文本耗尽额度每用户 50k token/min

6.2 算法

限流是"保护 Provider 配额 + 公平分配"的手段。保险多业务线共享 AI 配额时,按业务线限流避免"理赔线把健康险的额度吃光"。被限流返回 429,上游重试或降级。
GateWay 限流按用户/Provider/业务线/Token 速率四维;算法用令牌桶(允许突发)最常用。目的是保护厂商配额 + 多业务线公平分配。被限流返 429,上游重试或降级。
① 限流只在 Gateway 做不够——Provider 侧也有硬配额,两层要对齐,否则 Gateway 放行但厂商 429。② 限流返回值要清晰(429 + Retry-After),让上游正确退避。③ 分布式限流要用 Redis 集中计数,单机限流在 Gateway 多实例下失效。

七、与 W1D4 多模型统一接入的演进

维度W1D4 原型W7D4 企业 Gateway
路由简单按 provider 选择多维可配置路由(场景/成本/健康)
重试可能无/简单指数退避 + 可重试错误判定
Fallback主备切换 + 标记
限流多维度令牌桶
成本token/花费统计 + 预算
Trace无/简单trace_id 串联全链路
定位个人原型平台中枢(多业务线)
演进主线:从"能调通多个模型"→"调得稳(重试/Fallback)→ 调得起(成本/限流)→ 调得清(Trace/审计)"。每一层新增能力都是把原型补成生产系统。
面试讲演进要突出"为什么加":重试/Fallback 为可用性,限流/成本为运营可控,Trace 为可观测与审计。这正对应平台从 demo 到生产的必经之路。
W1D4→W7D4 演进:加了可配置多维路由、指数退避重试、Fallback、多维度限流、token 成本统计、trace_id 全链路。主线是"能调通→调得稳→调得起→调得清"。

八、自研 Gateway 与直接用 LiteLLM 的取舍

8.1 LiteLLM 是什么

LiteLLM 是开源的统一 LLM 网关/SDK,一行配置接入 100+ 模型,自带负载均衡、重试、Fallback、成本追踪、限流。文档见 docs.litellm.ai。它解决的正是 W7D4 大部分模块。

8.2 取舍矩阵

能力直接用 LiteLLM自研 Gateway
多模型路由开箱即用要写
重试/Fallback内置要写
成本统计内置(含 UI)要接数仓
限流内置(Redis)要写
Trace支持 OpenTelemetry要接内部 APM
深度定制受限(走其扩展点)完全可控
内部系统对接需适配原生对接(鉴权/审计/工单)
团队技术栈Python 为主可用 Java(契合团队)

8.3 决策建议

结论不是二选一:用 LiteLLM 当"轮子",自研当"车体"——底层多模型接入/重试/Fallback 用 LiteLLM 或 Spring AI,但路由策略、成本分摊、审计、内部鉴权这些"企业独有逻辑"自研。避免重复造 ChatClient/限流,但保留对核心治理的控制。
LiteLLM 开箱即用(路由/重试/Fallback/成本/限流/OTel),中小团队直接用它;但深度定制、内部系统对接、Java 技术栈、金融强合规时自研更可控。最佳:LiteLLM/Spring AI 做底层轮子,自研薄层接企业治理(路由策略/成本分摊/审计/鉴权)。
① "全自研"重复造 ChatClient/限流/成本轮子,浪费人力且易有 bug,不推荐从零写。② "纯用 LiteLLM"可能在深度定制(特殊路由、内部审计字段、合规留痕)时受限,要评估扩展点。③ 决策要看团队技术栈——Java 团队硬上 Python LiteLLM 也有运维成本,可" LiteLLM 为参考 + Java 自研"。

九、候选人视角:Java 企业 AI 平台网关能力

Java 背景优势:用 Spring Cloud Gateway / 自研 Java 网关,团队无需学 Python;大数据背景优势:成本/Trace 数据进 Kafka+数仓做运营分析。医疗保险背景优势:懂"配额/成本/审计"是集团级刚需。
讲 Gateway 时突出"平台中枢":统一管控多业务线配额、合规内建(鉴权/审计)、成本运营(分摊/告警)、韧性(重试/Fallback)。结合 Java(团队技术栈)+大数据(数仓分析)+医保(合规刚需)背景,定位为集团级 AI 基础设施。

十、高可用与安全生产实践

① Gateway 是高可用单点,挂了全公司 AI 瘫,必须多实例+健康检查+快速故障转移。② 限流/成本统计等旁路依赖故障不能拖垮主链路,要异步+降级。③ 配置错误(如路由规则写错)会大面积影响,改规则要有灰度+回滚。
Gateway 高可用要点:无状态可水平扩展、多实例+健康转移、旁路依赖异步降级不拖主链路、规则配置热更新+灰度回滚、自身指标进监控告警、故障时优先保核心业务线。

十一、学习资源(中文 / 官方)

十二、面试达标线①:AI Gateway 核心模块

模块作用要点
Model Adapter / 路由统一结构 + 选对模型多维可配置(场景/成本/健康)
超时重试抗抖动只重试可重试错 + 指数退避
Fallback主备切换保可用标记 fallback,上游感知
Token 成本成本可控按业务线统计 + 预算
Trace Hook全链路可观测入口生成 trace_id 串联
简单限流保护配额+公平令牌桶,多维
达标线①核心:Gateway 六大模块——Model Adapter/路由(多维可配置选模型)、超时重试(只重试可重试错)、Fallback(主备切换)、Token 成本(按业务线统计+预算)、Trace Hook(入口生成 trace_id)、简单限流(令牌桶多维)。各模块对应"稳/省/清"的治理目标。

十三、面试达标线②:自研 Gateway vs 直接用 LiteLLM 的取舍

  1. LiteLLM 能做什么:开箱即用的多模型路由、重试、Fallback、成本追踪、限流、OpenTelemetry Trace——覆盖 W7D4 大部分模块。
  2. 什么该用现成:多模型接入、重试/Fallback、基础限流、成本统计这些"通用能力"直接用 LiteLLM/Spring AI,别从零造轮子。
  3. 什么该自研:深度定制路由策略、内部系统对接(自有鉴权/审计/工单)、成本分摊到内部账、金融强合规留痕、且团队是 Java 技术栈时——这些"企业独有逻辑"自研或用 LiteLLM 做底层 + 自研薄封装。
  4. 决策主线:不是二选一,而是"LiteLLM/Spring AI 当轮子,自研当车体"——保留对核心治理的控制,同时不重复造基础件。

十四、W7D4 自测清单

十五、高频面试题速记卡

Q:AI Gateway 和 Spring AI 什么关系?
分层:Gateway 在接入层做跨业务线治理(路由/限流/成本/Trace),Spring AI 在应用层做业务编排。互补不冲突。
Q:W1D4 和 W7D4 区别?
W1D4 是轻量多模型接入原型;W7D4 加了可配置路由/重试/Fallback/限流/成本/Trace,从"能用"到"可治理可运营"。
Q:重试和 Fallback 区别?
重试针对单次可重试错(超时/429/5xx)指数退避;Fallback 是主模型持续失败切备选模型保可用,都需记录。
Q:成本统计为什么放 Gateway?
它是唯一看到全部 AI 流量的点,统计最全:按 provider/模型/业务线/用户,真实 usage 进数仓,超预算降级。
Q:限流有哪些维度?
按用户/Provider/业务线/Token 速率四维;算法用令牌桶(允许突发)最常用;分布式要 Redis 集中计数。
Q:Gateway 的 Trace 怎么和 W7D3 串?
入口(Gateway)生成 trace_id,应用层 Advisor 续用同一 id;W4 定规范、W7D3 应用层实现、W7D4 接入层实现,三处合一。
Q:自研还是用 LiteLLM?
通用能力(路由/重试/成本/限流)用 LiteLLM 别造轮子;深度定制、内部对接、Java 栈、金融合规自研。最佳:LiteLLM 当轮子+自研薄层。
Q:Gateway 为什么是单点风险?
它挂了全公司 AI 瘫。必须无状态、多实例、健康检查、快速转移;旁路依赖(Kafka)故障要异步降级不拖主链路。
Q:路由规则为什么不能硬编码?
运营调一次要发版不可接受;应外置配置中心,支持场景/成本/健康实时调整,且要灰度+回滚。
Q:Fallback 到弱模型要注意什么?
质量可能下降,要返回 fallback 标记让上游感知,必要时走人工复核;且有总超时上限防延迟放大。
FDE W7D4 学习手册 · AI Gateway 自研核心(面试级)· 配合《FDE-W7D4-评测题.md》自测
📌 待查★ 重要