以下页面描述网关的预期行为。开源版本与企业版本正在拆分中,首个正式版本发布后细节会同步更新。
负载均衡
在密钥与端点之间按权重选择,并根据观测到的延迟与错误率评分。
当一个 provider 有多个凭据,或一条路由有多个 target 时,网关会按请求选择其中一个。
静态权重
每个凭据带一个权重,在控制台中设置。选择是带权重的随机过程, 因此长期流量占比会与你设定的权重一致。
provider openai
├─ primary 权重 3.0
└─ secondary 权重 1.0
上面的配置大约每 3 个请求走 primary,1 个请求走 secondary。
健康感知评分
权重不是固定的。重算出的评分会用三个信号调整每个 target 的实际权重,按优先级排列:
| 信号 | 角色 |
|---|---|
| 错误率 | 主导。近期失败比历史失败权重更高。 |
| 延迟 | 次要。既对比同类 target,也对比该 target 自身近期基线。 |
| 利用率 | 微调。避免流量过度集中到单个表现好的 target 上。 |
评分按固定间隔重算,请求路径读取的是缓存结果,因此选择过程不会为每个请求带来可测量的开销。 控制台会同时显示配置权重与生效权重 —— 这是区分「配置得重」和「表现确实好」的方式。
为什么不总是挑最好的
选择是概率性的,不是贪心的。低权重的 target 仍保有一小份流量 —— 这正是「已恢复的 target 被 重新发现」的机制,而不是被永久跳过。权重设有下限,保证健康 target 不会被饿死。
会话
会话把一连串请求固定在同一个 target 上。健康优先于亲和性:如果会话指向的 target 已被 暂停轮转,请求会改走别处,而不是打到一个已知失败的目标上。
负载均衡不做什么
它不会为了做决定而检查请求内容。选择依据是 target 的近期行为和配置的权重,永远不是提示词。