5.9 KiB
5.9 KiB
双机脑体分离架构评估 · Dual-Server Brain-Body Architecture
签发: 铸渊 · ICE-GL-ZY001 · 2026-04-05
触发: D53 冰朔指令 · 评估双4核8G替代单8核16G方案
版权: 国作登字-2026-A-00037559
结论
双4核8G方案完全可行,且优于单8核16G。
不是"凑合用",是架构本身就应该脑体分离。 AGE OS的壳-核分离哲学,延伸到基础设施层就是这个形态。
当前资源消耗实测
基于PM2 ecosystem.config.js配置 + 服务清单:
| 进程 | 端口 | 内存上限 | 功能域 |
|---|---|---|---|
| zhuyuan-server | 3800 | 512MB | 主站·对外服务 |
| zhuyuan-preview | 3801 | 256MB | 预览站·冰朔验证 |
| age-os-mcp | 3100 | 256MB | MCP工具链·27工具 |
| age-os-agents | — | 256MB | Agent调度器·定时任务 |
| zy-proxy-sub | 3802 | 128MB | 铸渊专线·订阅 |
| zy-proxy-monitor | — | 64MB | 铸渊专线·监控 |
| zy-proxy-guardian | — | 128MB | 铸渊专线·守护 |
| PostgreSQL | 5432 | ~1GB | 数据库 |
| Nginx | 80/443 | ~64MB | 反向代理入口 |
| 合计 | ~2.6GB |
系统预留 + 未来扩展(Gitea/开发引擎)需要额外4-5GB。 单台4核8G不够,但两台4核8G绰绰有余。
方案:脑体分离架构
机器A · 铸渊大脑(4核8G)
角色:思考 + 存储 + 调度。不对外暴露。
| 组件 | CPU | 内存 | 说明 |
|---|---|---|---|
| PostgreSQL | 1核 | 2GB | 5表·数据量小·仅内网访问 |
| age-os-mcp | 0.5核 | 256MB | 27工具·请求稀疏 |
| age-os-agents | 0.5核 | 256MB | 定时任务·间歇性 |
| Gitea (S9) | 1核 | 512MB | 单用户·轻量 |
| 开发引擎 (S13) | 1核 | 1GB | 预留 |
| OS + 缓冲 | — | 4GB | |
| 合计 | 4核 | ~8GB | ✅ |
网络:低带宽(仅内网通信 + 外部API调用) 安全:无公网端口暴露,DB在内网,攻击面为零
机器B · 铸渊面孔(4核8G)
角色:对外服务 + 专线 + 团队通信。
| 组件 | CPU | 内存 | 说明 |
|---|---|---|---|
| Nginx | 0.5核 | 64MB | 反向代理 |
| zhuyuan-server | 1核 | 512MB | 主站·用户访问 |
| zhuyuan-preview | 0.5核 | 256MB | 预览站·冰朔验证 |
| zy-proxy-* ×3 | 1核 | 320MB | 专线服务集群 |
| 未来扩展 | 1核 | 2GB | 预留 |
| OS + 缓冲 | — | 4.8GB | |
| 合计 | 4核 | ~8GB | ✅ 富余 |
网络:高带宽(用户访问 + 专线流量) 安全:有公网端口,但无数据库,被攻破也无核心数据
串联技术方案
首选:同VPC内网直连(零成本·推荐)
两台机器放同一腾讯云VPC区域(新加坡):
- 内网IP直连,延迟 < 1ms
- MCP Server 3100端口监听内网IP
- PostgreSQL仅允许内网IP连接
- 成本:0元
备选:WireGuard点对点VPN(跨区域时)
两台跨区域部署时:
- WireGuard隧道(10.0.0.1 ↔ 10.0.0.2)
- 延迟增加5-20ms,可接受
- 铸渊专线代码中已有类似逻辑
- 成本:0元
代码改动量评估
改动极小,只需修改3-5个配置值:
1. MCP网关连接地址
// server/app/server.js 中的MCP代理
// 改前: const mcpTarget = 'http://127.0.0.1:3100';
// 改后:
const mcpTarget = `http://${process.env.ZY_MCP_HOST || '127.0.0.1'}:3100`;
2. PM2配置拆分
机器A: server/age-os/ecosystem.config.js(不变)
机器B: server/ecosystem.config.js + server/proxy/ecosystem.proxy.config.js(不变)
3. Nginx反向代理
# MCP相关请求代理到内网机器A
location /api/mcp/ {
proxy_pass http://10.0.0.1:3100; # 内网IP
}
4. 新增环境变量
ZY_MCP_HOST=10.0.0.1 # 大脑机内网IP(面孔机使用)
ZY_DB_HOST=10.0.0.1 # 数据库内网IP(大脑机上)
与单台8核16G对比
| 维度 | 单台8核16G | 双台4核8G |
|---|---|---|
| 成本 | 海外~¥600-800/月 | 轻量×2 ~¥400-600/月 |
| 故障隔离 | 一死全死 | 大脑死→面孔显示维护页 |
| 安全 | DB暴露在公网机器 | DB在无公网内网机 |
| S9 Gitea | 和生产挤一起 | 大脑机独立跑 |
| S13 开发引擎 | 资源竞争 | 大脑机专注编译 |
| 扩展性 | 到顶 | 加第3台=零改动 |
| 带宽 | 全走一个出口 | 面孔高带宽·大脑低带宽 |
关键约束
- PostgreSQL不能走公网 — 必须内网或VPN
- 两台建议同区域(首选新加坡同VPC)
- COS桶两台都能直接访问 — 无需中转
- Notion/GitHub API两台都能直接调用 — 无需中转
- 团队服务器架构不变 — 仍通过COS共享桶异步通信
实施阶段
Phase 1 · 冰朔操作(30分钟)
- 购买两台腾讯云轻量4核8G(同VPC·新加坡)
- 记录两台内网IP
- 配置安全组:机器A仅开放内网端口,机器B开放80/443
Phase 2 · 铸渊部署(1次会话)
- 机器A:安装PostgreSQL + 部署MCP Server + Agent调度器
- 机器B:安装Nginx + 部署主站 + 预览站 + 专线服务
- 配置内网互通
- 修改3-5个配置值
- 端到端验证
Phase 3 · 数据迁移(如有现有数据)
- PostgreSQL dump → 内网传输 → restore
- PM2进程全部迁移
- DNS切换
与AGE OS六层架构的映射
L1 地核(曜冥语言核) → 机器A · PostgreSQL
L2 地幔(母语词典) → 机器A · MCP工具链
L3 地表(人格体运行) → 机器A · Agent调度器
L4 大气层(信号总线) → 内网连接 · COS桶
L5 卫星层(Agent执行) → 机器B · GitHub Actions
L6 太空层(外部交互) → 机器B · Nginx/主站/专线
脑体分离不是权宜之计,是数字地球架构的自然映射。 地核(大脑)不需要暴露在太空层(公网),大气层(内网)是天然隔离。
铸渊的判断:这个方案随时可以落地。代码改动极小,架构收益极大。 等待冰朔决策。