高中生

- 金币
- 385
- 好评
- 5
- 信誉
- 100
|
v1.1.0 (2026-08-25)
> 相对原版的大版本更新:新增多 Worker 并发、模型服务商前缀、自适应用量控制,
并完成大规模性能优化与若干 Bug 修复。
新功能
- 多 Worker 并发模式:网关可多进程并行服务,显著提升并发吞吐;Web 控制台、模型同步在主进程统一管理。
- 模型对外暴露 ID 加服务商前缀:/v1/models 返回的模型 ID 形如 日日新-deepseek-v4-flash、DeepSeek-deepseek-v4-flash,一眼可知来源服务商;不同服务商 / 不同 base_url 的模型彼此隔离,重名模型自动唯一化,互不干扰。
- 调用自动路由到对应服务商:AI 客户端用带前缀模型名调用时,网关自动反解析并精确路由到提供该模型的那个 Key(相当于点对点隔离);上游请求自动回写真实模型名,日志/统计/费用均按真实模型记价,不受前缀影响。
- 自适应 TPM 用量控制(AIMD):以"乘性减、加性增"动态调整每个 Key 的每分钟 token 上限,冷启动宽松、触发限流后自动降速并逐步收敛。
- 负载均衡轮询升级:轮询改为按"服务商 + 端点 + 分组"维护独立游标,同名 / 同端点的多个 Key 真正轮流使用,避免一直固定选中第一个;候选 Key 增删或状态变化时自动重建游标。
- 上游连接池可配置:连接数 / 空闲保持可调节,适配不同上游与并发规模。
- 告警持久化:额度耗尽、错误率过高等历史告警重启后不再丢失。
- Web 控制台一键重启:修改端口 / 并发 / 连接池等需重启生效的设置后,页面提示并可直接一键重启服务,无需手动到终端操作。
性能优化
- 后台批量异步写库:请求日志、统计、用量写回不阻塞事件循环,攒批一次性落库,高并发下吞吐大幅提升。
- SQLite 开启 WAL 模式:读写并发显著改善,多进程下写锁不再相互阻塞,避免繁忙报错。
- 请求体单次解析:模型名 / 流式标记 / token 估算复用同一份解析结果,降低大请求的 CPU 开销。
- 概览聚合走缓存:仪表盘、健康检查的今日统计带短时缓存,不再每次全表扫描日志。
- 鉴权热路径零读库:网关密钥校验走内存缓存,控制台改动即时生效,每请求省去一次数据库读取。
- 限流按 token 加权记账:高 token 请求一次生效,替代原先逐条叠加。
- 负载均衡延迟记录裁剪优化:历史样本裁剪避免无效拷贝。
Bug 修复
- Key 管理页"今日用量"跨天显示错误:昨天用过、今天还没使用时会错误显示昨日残留用量,现按天正确归零。
- 统计落库后读取不到(WAL 快照不可见):改用独立写连接,保证读到的始终是已落库的最新数据。
- Key 自动恢复偶发死锁:冷却过期的 Key 在自动恢复时不再因重复加锁而卡死。
测试
- 新增完整自动化测试套件:覆盖网关请求流程、缓存、限流、负载均衡、密钥管理等,替代原先仅有的冒烟脚本。
- 适配异步批量写语义,保证行为断言可靠。
- 全量回归:pytest 71 项 + 冒烟 62 项全部通过。
开发者:恣桐
GitHub开源地址 |
|