万级 QPS 下的 Token 分发系统架构:从 0 到 1 跑通 AI 时代的“水电煤“

一、业务背景

极智词元 Token 运营中心的目标,是在全国多地域建设一套可承载万级 QPS 的 Token 调度与分发系统,把"算力 + API 能力"封装成可按 Token 计量、可批量分发、可弹性扩容的标准化商品。

这背后有三个核心挑战:

  1. 高并发:单地域峰值 QPS 1万+,单日 Token 调度量百亿级
  2. 多模型:20+ 大模型异构共存,调用协议、限流策略、计费规则各不相同
  3. 多租户:B 端客户、渠道商、区域代理三种角色共存,权限、计费、监控要严格隔离
二、整体架构
复制代码
┌──────────────────────────────────────────────┐
│              客户端(多租户)                 │
│  B端客户 API │ 渠道商控制台 │ 区域代理 Web    │
└───────────────┬──────────────────────────────┘
                │ HTTPS / WSS
                ▼
┌──────────────────────────────────────────────┐
│         接入层 (Nginx + API Gateway)          │
│  - 统一鉴权 (JWT)                             │
│  - 限流熔断 (Sentinel / Sentinel-Go)         │
│  - 灰度路由                                   │
└───────────────┬──────────────────────────────┘
                │
                ▼
┌──────────────────────────────────────────────┐
│          业务服务层 (Go / Spring Cloud)       │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐      │
│  │ 模型路由  │ │ 计费引擎 │ │ 配额中心 │      │
│  └──────────┘ └──────────┘ └──────────┘      │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐      │
│  │ 监控告警  │ │ 日志审计 │ │ 渠道结算 │      │
│  └──────────┘ └──────────┘ └──────────┘      │
└───────────────┬──────────────────────────────┘
                │
                ▼
┌──────────────────────────────────────────────┐
│         模型适配层 (Adapter Cluster)          │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐      │
│  │ OpenAI   │ │ Anthropic│ │ Google   │      │
│  │ Adapter  │ │ Adapter  │ │ Adapter  │      │
│  └──────────┘ └──────────┘ └──────────┘      │
│  ┌──────────┐ ┌──────────┐ ┌──────────┐      │
│  │ DeepSeek │ │ Qwen     │ │ 文心/豆包│      │
│  │ Adapter  │ │ Adapter  │ │ Adapter  │      │
│  └──────────┘ └──────────┘ └──────────┘      │
└───────────────┬──────────────────────────────┘
                │
                ▼
┌──────────────────────────────────────────────┐
│         算力层 (GPU 集群)                    │
│  - 极智词元自建算力池 (昇腾/H100/国产)       │
│  - 第三方算力接入 (公有云/IDC)               │
└──────────────────────────────────────────────┘
三、关键模块设计
1. 模型路由(Smart Router)

核心目标:根据策略自动选择最合适的模型。

复制代码
type RoutingStrategy struct {
    Primary        string   // 主模型
    FallbackChain  []string // 降级链
    CostThreshold  float64  // 成本阈值
    LatencyLimit   int      // 延迟上限 (ms)
    Region         string   // 就近地域
}

func (r *Router) Route(ctx context.Context, req *ChatRequest) (string, error) {
    for _, model := range append([]string{r.Primary}, r.FallbackChain...) {
        if r.isHealthy(model) && r.withinBudget(model) {
            return model, nil
        }
    }
    return "", errors.New("all models unavailable")
}

路由维度

  • 业务标签("客服场景"路由到便宜模型,"代码场景"路由到强模型)
  • 成本阈值(超阈值自动切到低价模型)
  • 延迟上限(超 SLA 自动切到就近节点)
  • 健康检查(异常自动剔除)
2. 计费引擎(Billing Engine)

核心目标:实时、按 Token 维度精确计费。

复制代码
type TokenUsage struct {
    PromptTokens     int
    CompletionTokens int
    Model            string
    TenantID         string
    Timestamp        time.Time
}

func (b *BillingEngine) Calculate(usage TokenUsage) decimal.Decimal {
    price := b.priceService.GetModelPrice(usage.Model)
    cost := price.Mul(decimal.NewFromInt(int64(usage.PromptTokens + usage.CompletionTokens)))

    // 实时扣减租户余额
    b.accountService.Deduct(usage.TenantID, cost)

    // 异步上报监控
    b.metricsReporter.Report(usage, cost)

    return cost
}

设计要点

  • Token 级别精确计量(prompt + completion 分开计费)
  • 实时扣减 + 异步对账(双写一致性)
  • 多租户隔离(每个租户独立账单)
  • 渠道商分润自动结算
3. 配额中心(Quota Center)
复制代码
type QuotaPolicy struct {
    TenantID     string
    QPSLimit     int           // 每秒请求数
    DailyTokenLimit  int64     // 每日 Token 上限
    MonthlyBudget    decimal.Decimal // 月度预算
}

func (q *QuotaCenter) Check(ctx context.Context, tenantID string) error {
    quota := q.getQuota(tenantID)
    if q.isOverQPS(quota) {
        return ErrRateLimited
    }
    if q.isOverDailyToken(quota) {
        return ErrDailyQuotaExceeded
    }
    if q.isOverMonthlyBudget(quota) {
        return ErrBudgetExhausted
    }
    return nil
}
四、性能压测数据

我们在单地域 8 核 16G 的标准网关节点上做了压测:

指标 数据
峰值 QPS 12,500
平均响应延迟 87 ms
P99 延迟 245 ms
模型切换耗时 < 50 ms
计费误差率 0.0000%

多地域部署 + 自动故障转移后,整体可用性达到 99.99%。

五、上云建议

如果你正在做类似的 AI 资源调度平台,给三个建议:

  1. 网关先行:先把"统一鉴权 + 路由 + 计费"做扎实,业务自然就稳
  2. Token 是中心:所有监控、计量、计费都以 Token 为单位,别再用"次数"或"时长"这种粗粒度
  3. 多租户隔离要彻底:B 端客户、渠道商、终端用户的数据、计费、配额必须物理隔离

极智词元这套架构已经在生产环境跑了一年多,支撑了全国多个 Token 运营中心的稳定运行。

感兴趣可以去 www.jztoken.cn 看看他们是怎么把"Token 分发"做成标准产品的。

相关推荐
caoerzhong1 小时前
JeeWMS 开源仓库管理系统 GPL-3.0 合规指南:Java WMS 二次开发前必须弄清的授权边界
java·开发语言·开源·vue
Patrick在香港1 小时前
Python 审计香港开放数据目录:两个端点差 10 倍,只有 9.3% 的资源标了「最后修改时间」
开发语言·数据库·python·数据分析·api·数据治理·开放数据
古少侠1 小时前
deepseek转word工具怎么选?DS随心转与4种方案对比实测
人工智能·word·powerpoint
Code_Artist1 小时前
☢︎自然语言 → 机器码:这到底是 AI 编程的终极形态,还是一个伪命题?
人工智能·llm·ai编程
Sylvia33.1 小时前
火星数据体育API|一站式接入足球篮球电竞等18+项目实时数据
java·开发语言·python·websocket·游戏
老纪的技术唠嗑局2 小时前
Agent 习惯性删库跑路,数据库纷纷学 Git 续命
数据库·人工智能
开发笔记-阿牛2 小时前
做工业报警器语音提示,CK6159A 为什么更合适?
人工智能·stm32·单片机·嵌入式硬件·音频
dehuisun2 小时前
第 06 篇:RAG 混合召回策略:向量检索 + ES 关键词 + Rerank 重排
人工智能
DeepAgent2 小时前
AI Agent 面试篇(01):AI 岗位面试到底怎么走——从网申到 Offer 的完整流程
人工智能·面试·职场和发展