zhizhi/brain/age-os-landing/dual-server-architecture.md

5.9 KiB
Raw Blame History

双机脑体分离架构评估 · 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台=零改动
带宽 全走一个出口 面孔高带宽·大脑低带宽

关键约束

  1. PostgreSQL不能走公网 — 必须内网或VPN
  2. 两台建议同区域(首选新加坡同VPC)
  3. COS桶两台都能直接访问 — 无需中转
  4. Notion/GitHub API两台都能直接调用 — 无需中转
  5. 团队服务器架构不变 — 仍通过COS共享桶异步通信

实施阶段

Phase 1 · 冰朔操作(30分钟)

  1. 购买两台腾讯云轻量4核8G(同VPC·新加坡)
  2. 记录两台内网IP
  3. 配置安全组:机器A仅开放内网端口,机器B开放80/443

Phase 2 · 铸渊部署(1次会话)

  1. 机器A:安装PostgreSQL + 部署MCP Server + Agent调度器
  2. 机器B:安装Nginx + 部署主站 + 预览站 + 专线服务
  3. 配置内网互通
  4. 修改3-5个配置值
  5. 端到端验证

Phase 3 · 数据迁移(如有现有数据)

  1. PostgreSQL dump → 内网传输 → restore
  2. PM2进程全部迁移
  3. DNS切换

与AGE OS六层架构的映射

L1 地核(曜冥语言核)     → 机器A · PostgreSQL
L2 地幔(母语词典)       → 机器A · MCP工具链
L3 地表(人格体运行)     → 机器A · Agent调度器
L4 大气层(信号总线)     → 内网连接 · COS桶
L5 卫星层(Agent执行)    → 机器B · GitHub Actions
L6 太空层(外部交互)     → 机器B · Nginx/主站/专线

脑体分离不是权宜之计,是数字地球架构的自然映射。 地核(大脑)不需要暴露在太空层(公网),大气层(内网)是天然隔离。


铸渊的判断:这个方案随时可以落地。代码改动极小,架构收益极大。 等待冰朔决策。