Skip to content
跳到项目内容
全部项目
云平台/持续迭代

AI 能力云平台

多能力 AI 服务的统一接入与区域部署

GoVue 3KubernetesRocketMQ
开发者控制台 · 用量与消费趋势01 / 04
01

核心业务

云平台同时服务个人开发者与企业:开发者通过门户创建 API Key、充值和查看消费,企业通过独立控制台管理成员、项目、合同权益和设备授权。两类用户共用语音识别、合成、鉴伪等模型能力,但账号归属、授权方式和结算规则不能混成一个后台。

平台的复杂度来自三种运行节奏。实时语音要求长连接持续返回结果;文件任务需要排队、重试和恢复;权益、路由与价格配置则由管理端低频修改。架构按业务所有权划分 Web、Portal、APIHub、Enterprise 和 audiollm-go 五个服务,再将 CPU 接入、GPU 推理、异步 Worker 与签名 Worker 分开部署。

开发者商业化
Portal 保存个人账号、Key、余额、订单、价格上下文和预算预占,负责最终结算与消费统计。
企业授权与交付
Enterprise 管理组织、成员、合同权益、设备席位和许可证,平台操作留有审计,签名由独立 Worker 执行。
请求准入与模型路由
APIHub 校验调用身份、能力、预算和限流,根据版本化策略选择自研模型或第三方 Provider。
模型执行与用量事实
audiollm-go 编排 ASR、TTS、情感、SED、鉴伪与音频向量能力,保存任务终态和实际处理量。
02

技术栈

前端
Vue 3 · TypeScript · Pinia · Vue Router
服务端
Go · Chi · WebSocket · Provider Adapter
数据与消息
PostgreSQL · Redis · RocketMQ 5.x · Outbox
基础设施
AWS EKS / 腾讯云 TKE · 对象存储 · GitLab CI · OpenTelemetry
03

系统架构与部署

五个服务按商业、授权、准入与执行职责协作。实线表示业务调用,虚线表示配置同步或异步消息;实时结果沿原连接返回。

Web 与企业控制台

Vue 3 / CDN / 静态资源发布

开发者界面和企业管理界面独立,不在前端保存余额或授权事实。

APIHub / Portal / Enterprise

Go / Kubernetes Deployment

按服务职责管理路由、结算和权益,可分别发布;请求路径不逐次查询控制台。

Gateway 与模型 Worker

CPU Gateway / 共享 GPU / 远程 Worker

网关承担协议和编排,GPU Worker 承担模型推理;支持内部服务及远程执行端。

签名 Worker

独立 Deployment / AWS KMS / 对象存储

管理 API 没有签名权限;Worker 签名、自验签后保存许可证制品及摘要。

消息与持久数据

PostgreSQL / Redis / RocketMQ 5.x

数据库保存业务事实,Redis 保存快照和查询投影,消息承担任务提交与完成通知。

区域运行

AWS EKS、ECR、S3 / 腾讯云 TKE、TCR、COS

海外部署与国内区域验证使用各自的集群、对象存储、镜像仓库和发布身份。

04

核心业务链路

实时语音:路由变更与长连接如何共存

Client → APIHub → Gateway / Provider → 流式结果

HTTP 与 WebSocket 直接进入执行链。APIHub 在建连及首帧阶段固定本次会话的 Provider,随后发布的路由配置作用于新会话,避免一段语音中途切换模型。模型结果与实际用量分别处理,连接断开不能抹掉已经产生的有效结果。

文件任务:用户关闭页面后仍然可以完成

task-submit → Worker → 终态 + usage + Outbox → task.done → Portal

APIHub 复用稳定 task_id,Worker 幂等消费输入引用。任务状态、用量和 Outbox 在 PostgreSQL 同一事务中提交;完成通知只带 task_id,Portal 回查终态和实际用量再结算。通知重投不会创建新的业务调用,也不依赖用户回来查询触发扣款。

设备交付:管理权限与密码学权限分开

申请 → 签发计划 → 批准 → 独立 Worker → KMS → 自验签与制品摘要

企业管理端负责申请、权益和审批状态,独立 Worker 认领签发任务并调用 KMS。签名私钥不进入 Web、API 或业务数据库。制品下载同时检查设备状态和授权 generation,旧票据不会绕过更新后的授权状态。

05

关键机制与取舍

路由控制面:通知加对账,而不是每次请求查库

路由策略要能动态发布,但管理服务或 Redis 的瞬时故障不能把每个语音请求拖入跨服务查询。只依赖 Pub/Sub 又会在重启、断线或漏消息后保留旧配置。

Enterprise 在事务中写入策略版本、审计和 Outbox。Publisher 发布 Redis 不可变快照、latest 指针和 Pub/Sub 通知;APIHub 订阅通知,并周期性对账 latest,验证后原子替换内存快照。缺失、吊销或过期授权按拒绝规则处理。

请求热路径只读取已经装载的配置;配置生效与请求执行解耦,同时保留版本号用于排障和回溯。

任务与账务:避免重复扣费,也避免过早释放预占

消息系统提供至少一次传递,模型可能已经执行而发送确认丢失;如果把发送超时当失败释放预算,后续任务完成就无法可靠结算。

预占、任务和消费记录围绕稳定 task_id 关联。执行端先持久化终态与用量,再发送完成通知;Portal 以任务标识幂等回查、结算后 Ack。状态不确定的请求保留记录并进入对账,技术重试不创建第二次客户调用。

数据库记录可以解释“执行了多少、产生了多少有效结果、结算了哪次调用”,消息只是推进处理的通知。

计量与定价:失败不等于零处理量

ASR、TTS 和鉴伪有不同计量维度,部分成功、取消和中断也可能消耗计算资源。执行层按商业优惠改写用量,会让成本分析和账务对账失去依据。

模型层记录实际处理量、有效结果关联量和终态;Portal 根据产品规则与价格上下文决定应收。音频能力保留处理时长,TTS 与鉴伪记录各自的请求及结果计数,不强制所有模型使用一个计量单位。

运行成本、调用统计与客户账务可分别解释;同一执行事实能够支持不同商业规则。

许可证 Worker:租约恢复与旧 Worker 写入保护

签名任务可能在认领后进程退出;简单重试容易让新旧 Worker 同时发布制品,或让 API 服务获得不必要的签名权限。

Worker 使用数据库行锁认领任务,签发过程设置有界租约和 worker-id fence。租约过期后任务可被恢复,旧 Worker 不能覆盖恢复 Worker 的结果。KMS 签名后使用公钥自验签,再写入带内容摘要的加密对象。

操作审计、任务恢复与密码学权限分别受约束,签名私钥保持在 KMS 内。

06

实践成果与验证

5 个服务

业务所有权

开发者账务、企业授权、请求准入和模型执行分别维护数据与接口契约。

CPU / GPU

执行资源拆分

网关、共享 GPU Worker、远程 Worker 和签名 Worker 采用不同运行单元。

HTTP / WS / MQ

三类调用形态

实时传输和持久任务共享业务归属与结算边界,不强行统一成一种传输机制。

  • 贯穿开发者接入、企业权益、模型推理、设备交付和消费结算,覆盖产品、服务端与云基础设施。
  • 路由版本、任务标识、用量事实和制品摘要成为跨服务排障依据,减少依靠页面状态判断系统是否完成。
  • 区域适配通过配置、Provider 和部署清单实现,AWS 部署与腾讯云区域验证保留各自的运行和发布边界。

继续浏览

AI 能力云平台 · 开发者控制台 · 用量与消费趋势
100%
AI 能力云平台放大预览

开发者控制台 · 用量与消费趋势

别急,先让缓存热一下。