JIMMY
返回项目列表

Aegis

AI 接口网关
TypeScriptCloudflare WorkersD1边缘计算

0ms 冷启动 · 300+ 边缘节点 · 日均转译 4 万次调用

aegis — edge
 

背景与动机

接了几个上游模型接口之后,密钥散落在三四个前端项目里,谁调了多少、配额还剩多少,全靠翻日志。Aegis 的任务:把所有模型流量收进一个边缘入口——鉴权、限流、路由、计费,一处管完。

选 Cloudflare Workers 不是赶时髦:模型上游在海外,边缘节点离用户近,且零冷启动——半夜三条用户发起的请求和白天高峰的请求,体验完全一致。

架构与取舍

网关本身无状态:路由表和令牌哈希走 Workers KV 缓存(TTL 60 秒),用量流水逐条写入 D1。这样任意节点可服务任意请求,扩容就是平台自己的事。

限流做双层:令牌级配额(月度池)+ IP 级滑动窗口(防滥用)。计费不依赖上游返回,按请求元数据本地记账,D1 单行写入 1.8ms,对延迟几乎无感。

难点与解决

Workers 的 CPU 时间限制对长流式响应是个坑。解法是把 SSE 流式转发改成 Pass-through 模式——网关只做首包鉴权与末包计数,中间字节流不进网关内存,CPU 时间降到 5ms 以内。

令牌泄露应急方案也预先设计好:KV 里吊销列表 60 秒内全网生效,不需要重新部署。

数据与结果

日均转译四万次调用,错误率 0.02%(几乎全部来自上游本身的波动)。它有个真实的前身一直在生产环境服役——这套代码就是从那台网关身上抽象重写的。