poeti.ai | 路由策略

路由策略

poeti.ai 的核心能力是智能路由——当你的 Key Pool 中有多个 API Key 时,路由引擎会根据设定的策略自动决定将每个请求发往哪个 Key。

路由触发条件:路由策略只在 Key Pool 中有 多个可用 Key 时生效。如果只有一个 Key,请求会直接发往该 Key,无论配置哪种策略。

路由决策流程

收到请求
过滤不可用 Key
应用路由策略
选出最优 Key
转发请求
不可用 Key 包括:已禁用、超过配额、连续失败次数超限、当前处于冷却期的 Key

6 种路由策略详解

根据业务场景选择合适的策略:

1

轮询(Round Robin)

strategy: round_robin

按顺序依次使用每个可用 Key。第 1 个请求用 Key A,第 2 个用 Key B,第 3 个用 Key C,第 4 个回到 Key A……

✅ 适合:负载均衡 ✅ 适合:Key 性能相近 ✅ 适合:确定性分配
不考虑 Key 的实时状态(延迟/成功率),均匀分摊流量。如果某个 Key 响应慢,部分请求会受影响。
2

加权随机(Weighted Random)

strategy: weighted

根据每个 Key 的 weight 值按比例随机分配流量。权重越高,被选中的概率越大。

# 示例:Key A 权重 200,Key B 权重 100,Key C 权重 100 # Key A 被选中概率 50%,Key B 25%,Key C 25% Key A: weight=200 → 50% 流量 Key B: weight=100 → 25% 流量 Key C: weight=100 → 25% 流量
✅ 高配额 Key 多用 ✅ 灰度测试新 Key ✅ 差异化 Key 分级
3

故障转移(Failover)

strategy: failover

按 Key 的 priority 优先级顺序使用。始终优先使用最高优先级的 Key,只有它不可用时才切换到次优 Key。

# 示例:priority 越大越优先 Key A: priority=100 → 主 Key(优先) Key B: priority=50 → 备用 Key(A 故障时使用) Key C: priority=10 → 最后备用(A、B 都故障时)
✅ 主备高可用架构 ✅ 有主力 Key 的场景 ✅ 成本敏感(便宜 Key 先用)
4

延迟优先(Latency-based)

strategy: latency

实时选择历史平均延迟最低的 Key 发送请求。系统会持续跟踪每个 Key 的滑动平均延迟。

// 系统内部实时数据示例 Key A: avg_latency = 620ms ← 被优先选中 Key B: avg_latency = 840ms Key C: avg_latency = 1240ms
✅ 实时聊天场景 ✅ 用户体验优先 ✅ 流式输出场景
5

成功率优先(Success Rate)

strategy: success_rate

选择成功率最高的 Key,最大化每个请求的成功概率。适合需要极高稳定性的场景。

// 系统内部实时数据示例 Key A: success_rate = 99.8% ← 被优先选中 Key B: success_rate = 97.2% Key C: success_rate = 94.5%
✅ 高稳定性要求 ✅ 批量处理任务 ✅ 不允许失败的场景
6

综合评分(Comprehensive)

⭐ 推荐
strategy: comprehensive

综合考虑健康分数、成功率、平均延迟、权重,计算每个 Key 的综合评分,选择评分最高的 Key。

// 综合评分公式(v2.6.0 引入成本因素) score = health_score × 0.4 // 健康分数(成功率+失败惩罚综合) + success_rate × 0.3 // 近期成功率 + latency_score × 0.2 // 延迟评分(越低越高) + weight_factor × 0.1 // 权重因子 // 关联供应商后,成本因素也纳入计算
✅ 生产环境默认推荐 ✅ 多指标均衡 ✅ 自动应对 Key 状态变化
💡 推荐理由:综合评分策略会实时学习每个 Key 的表现,当某个 Key 开始变慢或出错时,系统会自动降低其权重;当它恢复正常时,权重自动回升。无需人工干预。

如何配置路由策略

方式一:控制台图形界面

  1. 进入控制台 → 智能路由
  2. 选择要配置的 Provider(如 OpenAI)
  3. 在"路由策略"下拉菜单中选择策略
  4. 保存设置,立即生效

方式二:API 配置

# 设置路由策略 curl -X PUT https://api.poeti.ai/api/v1/routing/config \ -H "Authorization: Bearer $ADMIN_KEY" \ -H "Content-Type: application/json" \ -d '{ "provider": "openai", "strategy": "comprehensive", "fallback_strategy": "round_robin" }'

健康监控机制

路由引擎持续追踪每个 Key 的健康状态:

指标说明自动行为
health_score 健康分数(0.0~1.0),成功 +0.1,失败 -0.2,初始 0.8 低于 0.3 时降低被选中概率
consecutive_failures 连续失败次数 ≥3 次时自动暂停该 Key(冷却 5 分钟)
success_rate 最近 100 次请求的成功率 低于 50% 时降权
latency_avg 最近请求的滑动平均延迟(毫秒) 用于 latency 策略评分
🔄 自动恢复:被暂停的 Key 会在 5 分钟后自动进入"试探模式"——先发送少量请求测试,如果成功则逐步恢复正常权重。无需人工干预。

策略对比速查表

策略 决策依据 最适合场景 是否感知实时状态
round_robin 请求序号 同质化 Key、负载均衡
weighted weight 权重 差异化配额、灰度测试
failover priority 优先级 主备架构、成本敏感 ⚠️ 仅可用性
latency 平均延迟 实时交互、低延迟要求
success_rate 成功率 批量处理、稳定性优先
comprehensive ⭐ 综合评分 大多数生产场景 ✅ 多维度