架构
读完本页应能画出:运营后台、消费端、Studio、Go 进程、数据库各自站哪一层,以及鉴权怎么分。
谁调用谁
一个 Go 后端进程同时挂两套面:
- 运营后台:Admin 会话 + RBAC
- 消费端 BaaS:项目
X-API-Key+ 用户 App JWT
Studio(AI 创作)是旁路创作栈:写成片后,由运营在后台手动导入内容库,再走标准上架。它不是第二套内容中台。
为什么这样切
三层数据
新建项目会幂等建 project_* schema。请求在事务里设 search_path,连接池不串项目态。
鉴权三套凭证
客户端不传随意的 project_id。项目身份解析顺序与细节见 BaaS 鉴权。
前端与工程位置
X-Client-Platform: web | android | ios 只做提示,不改变订单与权益事实。
双契约
Studio 自身 API 不受这两份 YAML 管辖,源码与其导出的 OpenAPI 为准;「成片导入 catalog」仍走主契约。路径规模以仓库文件为准。改 Go 路由必须过 internal/contracttest。
基础设施
- PostgreSQL,迁移在
database/migrations/(up/down 配对)。 - Redis:Admin 会话、API Key 限流、部分 Feed。
- 对象存储:现网 RustFS(S3 兼容),见 RustFS。
- 本地:
infra/docker+tools/scripts/dev-up.sh。