docs: ARCH-001 NAC公链多服务器体系架构规划 v1.0
- 七层架构分层设计(链核心/身份/AI/资产上链/数据/金融/门户) - 服务间通信规范(NRPC 4.0协议) - 迁移优先级路线图(P1-P6) - 数据库独立化策略 - 与区块链去中心化原则的对应关系
This commit is contained in:
parent
a3e385480d
commit
965a061463
|
|
@ -0,0 +1,167 @@
|
||||||
|
# NAC 公链多服务器体系架构规划
|
||||||
|
|
||||||
|
**文档编号**:ARCH-001
|
||||||
|
**版本**:v1.0
|
||||||
|
**日期**:2026-02-28
|
||||||
|
**状态**:规划草案
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、架构原则
|
||||||
|
|
||||||
|
NAC 公链的多服务器体系建立在以下核心原则之上:
|
||||||
|
|
||||||
|
**参与即是共识**。区块链的本质不是集中式服务,而是每个服务节点独立运行、独立验证、独立扩展。当前将所有服务集中在一台或两台服务器上,违背了这一原则,也带来了单点故障风险。未来的目标是将每一类服务部署到独立的服务器,通过 NRPC 4.0 协议通信,形成真正的分布式服务网络。
|
||||||
|
|
||||||
|
**服务边界清晰**。每台服务器只负责一类核心职责,不承担其他服务的运行压力。这既符合微服务架构的最佳实践,也符合区块链节点独立性的要求。
|
||||||
|
|
||||||
|
**数据主权分离**。用户数据(注册系统)、链上数据(CBPP 节点)、合规数据(AI 知识引擎)、交易数据(交易所)各自存储在独立的数据库服务器上,互不干扰,互不依赖。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 二、目标多服务器体系(七层架构)
|
||||||
|
|
||||||
|
### 第一层:链核心层(Chain Core)
|
||||||
|
|
||||||
|
这是整个体系的基础,负责区块生产、共识和链上状态维护。
|
||||||
|
|
||||||
|
| 服务器角色 | 部署服务 | 域名 | 当前状态 |
|
||||||
|
|-----------|---------|------|---------|
|
||||||
|
| **主链节点服务器** | CBPP 节点(nac-cbpp-node)、NRPC 4.0 网关 | `rpc.newassetchain.io` | 已部署(备份服务器) |
|
||||||
|
| **备用链节点服务器** | CBPP 节点副本(热备) | — | 待规划 |
|
||||||
|
|
||||||
|
**独立理由**:CBPP 节点是整个公链的心脏,必须独立运行,不能与任何应用层服务共享服务器资源。链节点的 CPU 和 I/O 需求与应用服务完全不同,混合部署会导致出块延迟。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 第二层:身份层(Identity Layer)
|
||||||
|
|
||||||
|
负责用户注册、KYC 验证、DID 身份管理。
|
||||||
|
|
||||||
|
| 服务器角色 | 部署服务 | 域名 | 当前状态 |
|
||||||
|
|-----------|---------|------|---------|
|
||||||
|
| **注册系统服务器** | nac-id-system(Laravel/PHP)、MySQL(nac_id 数据库) | `id.newassetchain.io` | 已部署(备份服务器),**待迁出** |
|
||||||
|
| **认证网关** | nac-auth-service(端口 8081) | — | 已部署(备份服务器),随注册系统迁移 |
|
||||||
|
|
||||||
|
**独立理由**:注册系统存储用户的最敏感数据(身份证、KYC 文件),必须部署在专用服务器上,配备独立的数据库备份策略和更严格的访问控制。注册系统与链节点的耦合应通过 NRPC 4.0 协议完成,而非直接数据库访问。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 第三层:AI 智能层(AI Intelligence Layer)
|
||||||
|
|
||||||
|
负责合规分析、资产估值、审批辅助、知识库管理。
|
||||||
|
|
||||||
|
| 服务器角色 | 部署服务 | 域名 | 当前状态 |
|
||||||
|
|-----------|---------|------|---------|
|
||||||
|
| **AI 知识引擎服务器** | nac-admin(Node.js)、MongoDB(nac_knowledge_engine) | `admin.newassetchain.io` | 已部署(备份服务器),**待迁出** |
|
||||||
|
| **AI 估值服务器**(未来) | nac-ai-valuation(Rust)、xtzh-ai(Transformer 模型) | `aivl.newassetchain.io` | 待规划 |
|
||||||
|
|
||||||
|
**独立理由**:AI 推理(尤其是 Transformer 模型)对 GPU/CPU 的需求远高于普通 Web 服务。将 AI 服务独立到专用服务器,可以在不影响其他服务的情况下进行模型升级和算力扩展。MongoDB 知识库(35 条规则,持续增长)也需要独立的存储和索引优化。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 第四层:资产上链层(Asset Onboarding Layer)
|
||||||
|
|
||||||
|
负责 RWA 资产的上链流程、合规验证、DNA 生成。
|
||||||
|
|
||||||
|
| 服务器角色 | 部署服务 | 域名 | 当前状态 |
|
||||||
|
|-----------|---------|------|---------|
|
||||||
|
| **资产上链服务器** | nac-onboarding(Python FastAPI)、CIB 服务 | `onboarding.newassetchain.io`、`cib.newassetchain.io` | 已部署(备份服务器),待迁出 |
|
||||||
|
|
||||||
|
**独立理由**:资产上链是 NAC 的核心业务流程,涉及文件上传、AI 合规验证、链上交易提交等多个步骤,处理时间长、资源消耗大,必须独立运行以保证服务质量。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 第五层:数据服务层(Data Service Layer)
|
||||||
|
|
||||||
|
负责链上数据的聚合、查询、可视化。
|
||||||
|
|
||||||
|
| 服务器角色 | 部署服务 | 域名 | 当前状态 |
|
||||||
|
|-----------|---------|------|---------|
|
||||||
|
| **区块浏览器服务器** | nac-quantum-browser(PHP WorkerMan + WebSocket) | `explorer.newassetchain.io` | 已部署(备份服务器),待迁出 |
|
||||||
|
| **数据服务器** | NAC Lens(Node.js)、NAC API Server(Rust) | `lens.newassetchain.io`、`api.newassetchain.io` | 已部署(备份服务器),待迁出 |
|
||||||
|
|
||||||
|
**独立理由**:区块浏览器和数据服务是面向公众的高流量服务,需要独立的 CDN 加速和负载均衡,不能与链节点共享带宽。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 第六层:金融服务层(Financial Service Layer)
|
||||||
|
|
||||||
|
负责 XTZH 稳定币、钱包、交易所。
|
||||||
|
|
||||||
|
| 服务器角色 | 部署服务 | 域名 | 当前状态 |
|
||||||
|
|-----------|---------|------|---------|
|
||||||
|
| **钱包与稳定币服务器** | nac-wallet-service(Rust)、xtzh-pricing-service(Python) | `wallet.newassetchain.io` | 已部署(备份服务器),待迁出 |
|
||||||
|
| **交易所服务器** | nac-exchange-service(Rust) | `exchange.newassetchain.io`、`exchange-admin.newassetchain.io` | 已部署(备份服务器),待迁出 |
|
||||||
|
|
||||||
|
**独立理由**:金融服务涉及资金安全,必须部署在符合金融级安全标准的服务器上,配备独立的 HSM(硬件安全模块)和审计日志系统。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 第七层:展示与门户层(Portal Layer)
|
||||||
|
|
||||||
|
负责公开网站、ICO 门户、营销页面。
|
||||||
|
|
||||||
|
| 服务器角色 | 部署服务 | 域名 | 当前状态 |
|
||||||
|
|-----------|---------|------|---------|
|
||||||
|
| **主站服务器** | www.newassetchain.io(Node.js) | `www.newassetchain.io` | 已部署(主服务器 103.43.188.244) |
|
||||||
|
| **ICO 门户服务器** | NILA Token 购买页面(静态 HTML) | `ico.newassetchain.io`、`trc-ico.newassetchain.io` | 已部署(主服务器) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 三、服务间通信规范
|
||||||
|
|
||||||
|
所有服务器之间的通信必须通过 **NRPC 4.0 协议**,禁止直接数据库访问跨服务器调用。
|
||||||
|
|
||||||
|
| 通信场景 | 发起方 | 接收方 | 协议 | 说明 |
|
||||||
|
|---------|--------|--------|------|------|
|
||||||
|
| 注册用户上链 | 注册系统服务器 | 主链节点服务器 | NRPC 4.0 `nac_sendTx` | 工单 REG-001 |
|
||||||
|
| AI 合规查询链上状态 | AI 知识引擎服务器 | 主链节点服务器 | NRPC 4.0 `nac_getBlock` | — |
|
||||||
|
| 资产上链提交交易 | 资产上链服务器 | 主链节点服务器 | NRPC 4.0 `nac_sendTx` | — |
|
||||||
|
| 区块浏览器读取数据 | 数据服务层 | 主链节点服务器 | NRPC 4.0 `nac_getBlock` | — |
|
||||||
|
| 钱包发送交易 | 金融服务层 | 主链节点服务器 | NRPC 4.0 `nac_sendTx` | — |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 四、迁移优先级与路线图
|
||||||
|
|
||||||
|
迁移应按照对链核心的影响程度从低到高进行,优先迁移独立性最强的服务。
|
||||||
|
|
||||||
|
| 优先级 | 服务 | 迁移难度 | 预计工期 | 前置条件 |
|
||||||
|
|--------|------|---------|---------|---------|
|
||||||
|
| **P1(立即)** | AI 知识引擎(nac-admin) | 低 | 1 天 | 新服务器 + MongoDB + MySQL |
|
||||||
|
| **P2(近期)** | 注册系统(nac-id-system) | 中 | 2 天 | 新服务器 + MySQL + 工单 REG-001 完成 |
|
||||||
|
| **P3(中期)** | 区块浏览器 + 数据服务 | 中 | 3 天 | 新服务器 + NRPC 4.0 网关稳定 |
|
||||||
|
| **P4(中期)** | 资产上链服务 | 高 | 5 天 | 新服务器 + AI 知识引擎迁移完成 |
|
||||||
|
| **P5(远期)** | 金融服务(钱包/交易所) | 高 | 7 天 | 金融级安全审计完成 |
|
||||||
|
| **P6(远期)** | 链节点独立扩展(多节点) | 极高 | 持续 | CSNP 网络协议完善 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 五、数据库独立化策略
|
||||||
|
|
||||||
|
当前所有数据库(MySQL + MongoDB)集中在备份服务器上,这是单点故障的最大风险。未来应建立独立的数据服务器:
|
||||||
|
|
||||||
|
| 数据库 | 当前位置 | 目标位置 | 数据内容 |
|
||||||
|
|--------|---------|---------|---------|
|
||||||
|
| `nac_id`(MySQL) | 备份服务器 | 独立数据服务器 | 用户账号、KYC 信息 |
|
||||||
|
| `nac_knowledge_engine`(MongoDB) | 备份服务器 | AI 知识引擎服务器本地 | 35 条合规规则、对话历史 |
|
||||||
|
| `gnacs_db`(MongoDB) | 备份服务器 | 独立数据服务器 | GNACS 编码、资产分类 |
|
||||||
|
| `nac_onboarding`(MongoDB) | 备份服务器 | 资产上链服务器本地 | 上链申请、合规记录 |
|
||||||
|
| 链上状态(RocksDB) | 备份服务器 | 主链节点服务器本地 | 区块数据、账户状态 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 六、与区块链去中心化原则的对应关系
|
||||||
|
|
||||||
|
| 区块链原则 | NAC 多服务器体系的实现方式 |
|
||||||
|
|-----------|------------------------|
|
||||||
|
| **节点独立性** | 每台服务器独立运行,单台服务器故障不影响整体网络 |
|
||||||
|
| **数据主权** | 每类数据存储在对应职责的服务器上,无跨服务器直接访问 |
|
||||||
|
| **协议通信** | 所有服务间通信通过 NRPC 4.0 协议,而非内网直连 |
|
||||||
|
| **参与即是共识** | 注册系统通过 `nac_sendTx` 将每次注册写入链上,每台服务器的运行本身就是对网络的贡献 |
|
||||||
|
| **可扩展性** | 每层服务可独立横向扩展,无需整体重构 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
*文档归档路径:`nac-docs-center/docs/architecture/ARCH-001-multi-server-plan.md`*
|
||||||
Loading…
Reference in New Issue