跳到主要内容

BioF3 目标架构(历史目标与当前收敛方向)

2026-06-13 更新:近期目标不再是阿里云托管 RDS。当前生产中心库是 ECS Docker PostgreSQLbiof3-pg),收敛计划固定在 docs/ops/ECS-PLATFORM-CONVERGENCE-PLAN.md。本文保留早期"托管 RDS / Dell 纯 Worker"目标的背景,但执行时以新计划为准:/api/platform/* 归 ECS platform,Dell 保留 R/Python API compatibility + workers + Docker 算力。


1. 对比一眼看懂

维度现在 ✅目标(推荐)
用户入口ECS 静态 + /api/platform//api/r//api/py/不变
API / 登录 / Copilot 网关ECS platformECS platform
算力(R / Python / workers)DellDell compute API compatibility + workers
关系型数据ECS Docker PostgreSQL(biof3-pgECS Docker PostgreSQL 含全部业务表;托管 RDS 仅作可选未来项
过渡库biof3-aux.sqlite 已退出主路径去掉
Dell 挂了算力入口 / worker 受影响platform 仍可登录、看项目、Copilot
数据库连接ECS 本机连 biof3-pg;Dell 经 autossh 转发连 PGECS platform 主写;Dell 只写任务/结果状态

2. 目标架构图

flowchart TB
U[用户] --> ECS

subgraph Aliyun["阿里云 · 控制面"]
ECS[ECS: 静态站 + nginx]
API[ECS/SAE: biof3-r-server 轻量 API<br/>鉴权 / 项目 / Copilot 网关 / 入队]
PG[(ECS Docker PostgreSQL<br/>biof3-pg<br/>全部元数据 + Copilot + 统计)]
OSS[(OSS)]
end

subgraph Dell["家里 / 或 云上大内存 · 算力面"]
W[Worker: task-queue + R/Python 池<br/>只消费任务、写 OSS/PG 状态]
end

ECS -->|同 VPC 内网 /api| API
API -->|本机 / Docker 网络| PG
API --> OSS
API -->|内网或专线| W
W --> OSS
W -->|更新 analyses 状态| PG
flowchart LR
subgraph Now["现在"]
N1[ECS 反代]
N2[Dell API+Worker]
N3[ECS Docker PG]
N4[aux P2]
N5[OSS]
end

subgraph Later["目标"]
L1[ECS 轻量 API]
L2[Dell compute + workers]
L3[ECS Docker PG 全表]
L4[无 aux]
end

Now -.->|分阶段| Later

3. 为什么这样更合理

  1. Dell = 计算节点
    家里机器适合跑 R、占内存;不适合当「唯一 API + 唯一数据库文件」的单点。目标态里 Dell 重启只影响新任务/运行中分析,不拖垮登录与权限。

  2. PostgreSQL 一条真相源 P2(Copilot、page_views)进 PG 后,不再维护 aux.sqlite,备份用 pg_dump / OSS 异地备份即可。

  3. ECS 与 PostgreSQL 同机 / 同 Docker 网络 platform 用本机或 Docker 网络连库;Dell worker 通过受控 autossh/VPN/专线连库。

  4. 与现有代码方向一致
    仓库里已有 db-p0/p1/p2-pggetSqliteForLegacyModules 过渡;目标态是 P2 查询全部改 PGDATABASE_URL 只在 ECS API 上。


4. 推荐分阶段路线(不一次大爆炸)

阶段做什么风险
A(已完成)PostgreSQL P0+P1;Dell API;aux 承载 P2低,已运行
B(已完成)P2 表数据 迁入 PostgreSQL,Copilot/统计走 PG中,要测试 Copilot
C(已完成/调整)ECS 上起 platform/api/platform/* 归 ECS中,要改路由
D(当前定稿)Dell 保留 /api/r/*/api/py/* 算力兼容入口 + workers
E删 aux、清理旧迁移脚本和旧网关入口低(收尾)

当前继续工作以 docs/ops/ECS-PLATFORM-CONVERGENCE-PLAN.md 为准。


5. 阶段 B 的技术要点(预告)

  • 再跑一轮 migrate-sqlite-to-pg 或只导 P2 表到 PostgreSQL(page_viewscopilot_* 等已在 PG schema 里)。
  • helpers/*routes/analytics 等改为 PG 查询db-p2-pg.js 扩展),关闭 BIOF3_PG_AUX_SQLITE_PATH
  • 验证:Copilot 历史、admin 统计、埋点。

6. 阶段 C/D 的技术要点(预告)

  • ECS 与 PostgreSQL 同机 / 同 Docker 网络
  • pm2/systemd 跑 server.js在 ECS 上跑 R 容器(或仅 smoke)。
  • 任务提交:API 写 analyses + 推队列 → Dell Worker 拉取或 API 内网 POST 到 Dell。
  • nginx:/api/platform/* → ECS platform;/api/r/*/api/py/* → Dell 算力入口。

7. 你现在可以不动

当前 「现在」架构已经达成主要目的:用户/项目不在 Dell 磁盘上。
目标架构是 演进优化,不是「现在错了」。


8. 相关文档

AI 组学实践

让 AI 带我实战这一篇

AI 会读这篇文章后给你 3-5 步学习计划, 逐步带你学完,最后出 1-3 道题验证你掌握得怎么样。 登录后 AI 才能记住你的进度。

静态文件

离线资料下载

手册 HTML / PDF 已在后台预生成,点击后直接下载网站静态资源。