Skip to content

项目指南

项目指南面向准备阅读、修改或优化 Sub2API 的开发者,重点回答“这个系统是什么、为什么这样设计、一次请求如何穿过代码”。

它不会把后台按钮操作和故障处置混进架构说明。上线后的账号维护、监控和排障请转到运维指南

你会建立的系统模型

text
HTTP/Gin 入口
  → API Key 鉴权与权益检查
  → Group/Channel/Model 路由
  → Account Scheduler
  → 平台 Gateway 与协议转换
  → 上游 HTTP/SSE/WebSocket
  → Usage、Billing、Ops Error
  → PostgreSQL + Redis

推荐阅读路径

快速了解

  1. 项目概览
  2. 项目架构
  3. 核心概念
  4. 请求处理链路

准备开发功能

  1. 启动、配置与事实来源
  2. 代码目录与模块
  3. 数据、缓存与一致性
  4. 信任边界与安全模型
  5. 鉴权与前置检查
  6. 调度、粘性与故障切换
  7. 协议转换与流式传输
  8. 开发与定制入口

准备修改管理后台

  1. 前端控制面架构
  2. 用户、API Key 与权限
  3. 账号状态机与恢复语义
  4. 测试与变更验证

准备修改支付或商业化能力

  1. 用量、计费与配额
  2. 支付与订单子系统
  3. 数据、缓存与一致性
  4. 信任边界与安全模型

准备做性能优化

  1. 后台任务与多实例
  2. 用量记录与错误归因
  3. 性能优化地图
  4. 系统设计审视与演进建议

开发者应该先回答的问题

  • 变更属于管理面、数据面还是后台任务?
  • 最终事实保存在 YAML、PostgreSQL、Redis 还是进程内存?
  • 它修改的是用户权益、路由、上游协议还是计费?
  • 热路径是否会新增 DB 查询或 Redis 往返?
  • 多实例是否需要锁、缓存失效或 outbox 同步?
  • 流式请求在客户端断开时是否释放并发和记账?
  • requested/upstream/billing model 是否仍可解释?
  • 错误会被归因到 client、provider 还是 platform?
  • 改动需要 unit、integration、协议、支付还是多实例验证?

先沿真实请求链定位,再决定抽象和改动范围。

当前设计审视结论

整体上,模块化单体 + PostgreSQL + Redis 仍适合当前系统,不需要为了形式立即拆微服务。更值得优先补强的是:安装状态与认证 Secret 的恢复、liveness/readiness 分离、动态配置跨实例传播、支付履约持久化,以及可执行的 E2E/fake upstream。完整依据和实施顺序见系统设计审视与演进建议

与另两套指南的关系

本文档用于帮助你理解、部署和运维 Sub2API。使用前请确认上游服务条款与当地法律要求。