M5: 渠道体系(负载均衡+并发控制+健康检查+故障转移)
- channel.Candidates 按模型绑定取候选 + Pick 加权随机负载均衡 - TryAcquire 每渠道并发信号量, 满载溢出到其他候选 - HealthMonitor 后台定时探测, 连续失败进 cooldown, 恢复放回(可配 interval/threshold) - doProxy 遍历候选故障转移: 网络错误/429/5xx/超时且未写出响应头时安全重试; 400 等业务错误透传, 流式写出首字节后放弃重试 - 单测覆盖候选过滤/加权/并发/健康状态机 - E2E: 杀上游自动切换、cooldown、恢复、并发溢出 10/10 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+6
-3
@@ -471,9 +471,12 @@ pending(待审核) ──approve──▶ credited(已入账)
|
||||
- mock 上游新增 Anthropic Messages 端点,端到端验证 8 种组合(三协议 × 直通/转换 × 流式/非流式)。
|
||||
**验收**:chat 调 Claude、messages 调 OpenAI、responses 调 Claude 均正确,流式逐事件转换,usage 记账准确。
|
||||
|
||||
### M5 渠道体系完善(◻ 规划)
|
||||
健康检查、负载均衡、重试/故障转移、并发控制、模型自动导入。
|
||||
**验收**:杀一个渠道自动切换;连续失败进 cooldown 并恢复。
|
||||
### M5 渠道体系完善(✅ 已完成)
|
||||
- `channel.Candidates` 按模型绑定取候选 + `Pick` 加权随机负载均衡;`TryAcquire` 每渠道并发信号量(满载溢出到其他渠道)。
|
||||
- `HealthMonitor` 后台定时探测,连续失败进 cooldown、恢复放回(`OT_PROXY_HEALTH_INTERVAL`/`OT_PROXY_HEALTH_FAIL_THRESHOLD`)。
|
||||
- `doProxy` 遍历候选渠道故障转移:网络错误/429/5xx/超时且未写出响应头时安全重试;流式已写出首字节放弃。
|
||||
- 单测覆盖候选过滤/加权/并发/健康状态机。
|
||||
**验收**:杀一个渠道自动切换;连续失败进 cooldown 并恢复;并发请求溢出不失败。
|
||||
|
||||
### M6 充值 + 审核(◻ 待定,接口/模型已预留)
|
||||
充值订单、人工审核、流水留痕、前端页面。
|
||||
|
||||
Reference in New Issue
Block a user