- Add platform infrastructure chapter to frontend-backend architecture design - Update system architecture document with 6 new infrastructure modules - Update AI onboarding guide with infrastructure overview - Link to backend/src/common/README.md for detailed usage guide Key Updates: - Storage service (LocalAdapter + OSSAdapter) - Logging system (Winston + JSON format) - Cache service (Memory + Redis) - Async job queue (Memory + Database) - Health check endpoints - Monitoring metrics - Database connection pool - Environment config management All modules support zero-code switching between local and cloud environments. Related: #Platform-Infrastructure
525 lines
13 KiB
Markdown
525 lines
13 KiB
Markdown
# 2025-11-06 架构设计总结
|
||
|
||
> **日期:** 2025-11-06
|
||
> **工作类型:** 系统架构深度设计
|
||
> **成果:** 7个核心架构文档,完整的技术方案
|
||
|
||
---
|
||
|
||
## 🎉 今日成果
|
||
|
||
### 完成的核心文档(7个)
|
||
|
||
| # | 文档 | 核心内容 | 页数 |
|
||
|---|------|---------|------|
|
||
| 1 | [00-核心问题解答](./00-核心问题解答.md) | 部署模式、审稿系统独立性、数据库架构澄清 | 详尽 |
|
||
| 2 | [01-系统架构分层设计](./01-系统架构分层设计.md) | 三层架构、8个业务模块、5个通用能力 | 900+ |
|
||
| 3 | [02-文档体系重构方案v2.0](./02-文档体系重构方案.md) | 新文档结构、8个模块、4种部署方案 | 790+ |
|
||
| 4 | [03-数据库架构说明](./03-数据库架构说明.md) | PostgreSQL Docker部署、两个独立数据库 | 434+ |
|
||
| 5 | [04-运营管理端架构设计](./04-运营管理端架构设计.md) | 15个功能模块、3阶段实施 | 859+ |
|
||
| 6 | [05-Schema隔离方案与成本分析](./05-Schema隔离方案与成本分析.md) | 逻辑vs物理隔离、改造成本对比 | 1042+ |
|
||
| 7 | [06-模块独立部署与单机版方案](./06-模块独立部署与单机版方案.md) | 完整打包、共享服务、Electron架构 | 1541+ |
|
||
| 8 | [07-Monorepo架构评估](./07-Monorepo架构评估.md) | 当前阶段是否需要、成本收益分析 | 555+ |
|
||
|
||
**总计:** 6000+ 行详细设计文档
|
||
|
||
---
|
||
|
||
## 📊 核心架构决策
|
||
|
||
### 1. 系统架构分层 ⭐⭐⭐⭐⭐
|
||
|
||
**三层架构:**
|
||
```
|
||
┌───────────────────────────────────────┐
|
||
│ 业务模块层(8个模块) │
|
||
│ AIA | ASL | PKB | DC | SSA | ST | RVW | ADMIN
|
||
└───────────────────────────────────────┘
|
||
↓ 依赖
|
||
┌───────────────────────────────────────┐
|
||
│ 通用能力层(5个能力) │
|
||
│ LLM网关 | 文档处理 | RAG | ETL | NLP │
|
||
└───────────────────────────────────────┘
|
||
↓ 依赖
|
||
┌───────────────────────────────────────┐
|
||
│ 平台基础层 │
|
||
│ 用户权限 | 存储 | 通知 | 监控 | 配置 │
|
||
└───────────────────────────────────────┘
|
||
```
|
||
|
||
**关键洞察:**
|
||
- ✅ LLM网关:71%复用率(5/7模块依赖)
|
||
- ✅ 文档处理:86%复用率(6/7模块依赖)
|
||
- ✅ 模块独立性:RVW、ASL、DC可独立销售
|
||
|
||
---
|
||
|
||
### 2. 业务模块规划(8个模块)
|
||
|
||
| 模块 | 名称 | 商业价值 | 独立性 | 状态 |
|
||
|------|------|---------|-------|------|
|
||
| AIA | AI智能问答 | ⭐⭐⭐⭐ | ⭐⭐⭐ | ✅ 已完成 |
|
||
| ASL | AI智能文献 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⏳ 下一步重点 |
|
||
| PKB | 个人知识库 | ⭐⭐⭐ | ⭐⭐⭐ | ✅ 已完成 |
|
||
| DC | 数据清洗整理 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⏳ 规划中 |
|
||
| SSA | 智能统计分析 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⏳ 规划中 |
|
||
| ST | 统计分析工具 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⏳ 规划中 |
|
||
| RVW | 稿件审查系统 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⚡ 独立系统 |
|
||
| **ADMIN** | 运营管理端 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐ 新增 |
|
||
|
||
**核心亮点:**
|
||
- ✅ 新增运营管理端(15个功能模块)
|
||
- ✅ 3个模块极具独立销售价值(RVW、ASL、DC)
|
||
|
||
---
|
||
|
||
### 3. 部署方案(4种模式)
|
||
|
||
| 部署模式 | 目标用户 | 技术方案 | 代码复用 | 优先级 |
|
||
|---------|---------|---------|---------|-------|
|
||
| **云端SaaS** | 个人、小机构 | Node.js + PostgreSQL | 100% | P0(当前) |
|
||
| **独立产品包** | 特定客户 | Docker完整打包 | 80% | P1(阶段二) |
|
||
| **Electron单机版** | 个人医生 | 前端90%+后端80% | 85% | P2(阶段二) |
|
||
| **私有化部署** | 医院、机构 | K8s/Docker | 100% | P1(阶段二) |
|
||
|
||
**关键洞察:**
|
||
- ✅ Electron单机版代码复用率极高(85%+)
|
||
- ✅ 独立产品包支持模块化销售
|
||
- ✅ 4种部署覆盖全部市场需求
|
||
|
||
---
|
||
|
||
### 4. 数据库架构
|
||
|
||
**当前状态:**
|
||
- ✅ 有自己独立的PostgreSQL数据库(Docker部署)
|
||
- ✅ 16张表,全部在public schema
|
||
- ❌ 需要Schema隔离(未来微服务拆分的基础)
|
||
|
||
**Schema隔离决策:**
|
||
|
||
| 方案 | 成本 | 时机 | 建议 |
|
||
|------|------|------|------|
|
||
| 现在做物理隔离 | 1周 | 数据量小 | ⭐⭐⭐⭐⭐ 强烈推荐 |
|
||
| 继续逻辑隔离 | 0 | 当前 | ⭐⭐⭐ 可接受 |
|
||
| 未来做物理隔离 | 3-5周 | 数据量大 | ⚠️ 成本5倍 |
|
||
|
||
**关键洞察:**
|
||
- ✅ 现在做成本最低(数据量小)
|
||
- ✅ 为7个模块打下坚实基础
|
||
- ✅ 支持模块独立部署
|
||
|
||
---
|
||
|
||
### 5. 运营管理端(第8个模块)
|
||
|
||
**15个核心功能:**
|
||
|
||
**P0(必须):**
|
||
1. 用户管理
|
||
2. Feature Flag管理
|
||
3. LLM模型管理
|
||
4. 系统配置管理
|
||
|
||
**P1(重要):**
|
||
5. 智能体提示词管理
|
||
6. 监控与日志
|
||
7. 数据统计与报表
|
||
8. 成本分析与计费
|
||
|
||
**P2(有用):**
|
||
9-15. 租户管理、公告、文档、工单、健康检查、备份、运营分析
|
||
|
||
**实施计划:**
|
||
- 阶段一(1-2个月):P0功能
|
||
- 阶段二(1-2个月):P1功能
|
||
- 阶段三(1-2个月):P2功能
|
||
|
||
**关键洞察:**
|
||
- ✅ 商业模式的技术保障(Feature Flag、成本控制)
|
||
- ✅ 独立的前端应用(`https://admin.yizhengxun.com`)
|
||
|
||
---
|
||
|
||
### 6. 模块独立部署方案
|
||
|
||
**方案一:完整打包(独立产品)**
|
||
```
|
||
审稿系统独立产品 =
|
||
RVW模块 + 必需的平台层 + 必需的能力层 + 独立数据库
|
||
```
|
||
|
||
**方案二:共享服务(平台内模块)**
|
||
```
|
||
API网关
|
||
├─ AIA模块服务(独立部署)
|
||
├─ ASL模块服务(独立部署)
|
||
└─ 共享服务(平台层+能力层,一次部署)
|
||
```
|
||
|
||
**关键技术:**
|
||
- ✅ Monorepo架构(包管理、代码复用)
|
||
- ✅ 选择性导出(精简版平台层)
|
||
- ✅ Docker打包(一键部署)
|
||
|
||
---
|
||
|
||
### 7. Monorepo架构评估
|
||
|
||
**成本对比:**
|
||
|
||
| 方案 | 立即成本 | 未来成本 | 投入产出比 |
|
||
|------|---------|---------|-----------|
|
||
| **现在转换** | 2-3天 | 0 | ⭐⭐⭐⭐⭐ 极高 |
|
||
| **延后转换** | 0 | 7-11天 | ⭐⭐ 低 |
|
||
|
||
**建议:** 现在转换 ⭐⭐⭐⭐⭐
|
||
|
||
**理由:**
|
||
1. ✅ 投入小(2-3天),收益大(节省5-8天)
|
||
2. ✅ 正处于最佳时机(即将开发多模块)
|
||
3. ✅ 符合未来规划(运营管理端、独立产品)
|
||
4. ✅ 学习成本可控(有AI全程指导)
|
||
|
||
---
|
||
|
||
## 🎯 关键技术决策总结
|
||
|
||
### 决策1:Schema隔离
|
||
|
||
**建议:现在做物理隔离** ⭐⭐⭐⭐⭐
|
||
|
||
- 成本:1周
|
||
- 收益:避免未来3-5周的改造成本
|
||
- 理由:数据量小,改造风险低
|
||
|
||
---
|
||
|
||
### 决策2:Monorepo架构
|
||
|
||
**建议:现在转换** ⭐⭐⭐⭐⭐
|
||
|
||
- 成本:2-3天
|
||
- 收益:节省未来5-8天
|
||
- 理由:即将开发多个应用(运营管理端、ASL等)
|
||
|
||
---
|
||
|
||
### 决策3:部署方案
|
||
|
||
**阶段一:专注云端SaaS**
|
||
- 不做混合部署(技术难度极高,需求不明确)
|
||
- 暂缓Electron单机版(阶段二再做)
|
||
|
||
---
|
||
|
||
### 决策4:下一步开发重点
|
||
|
||
**优先级:**
|
||
1. P0:ASL模块(AI智能文献)
|
||
2. P0:LLM网关(商业模式基础)
|
||
3. P1:Schema隔离(可选,但强烈推荐)
|
||
4. P1:Monorepo转换(可选,但强烈推荐)
|
||
|
||
---
|
||
|
||
## 📚 文档体系v2.0
|
||
|
||
### 新文档结构
|
||
|
||
```
|
||
docs/
|
||
├── 00-系统总体设计/ ✅ 7个核心文档
|
||
├── 01-平台基础层/
|
||
├── 02-通用能力层/
|
||
├── 03-业务模块/ ✅ 新增ADMIN模块(共8个)
|
||
├── 04-开发规范/
|
||
├── 05-部署文档/ ✅ 扩展为4种部署方案
|
||
├── 06-测试文档/
|
||
├── 07-运维文档/
|
||
├── 08-项目管理/
|
||
└── 09-架构实施/ ✅ 新增(Monorepo、打包、微服务)
|
||
```
|
||
|
||
---
|
||
|
||
## 💡 核心洞察
|
||
|
||
### 1. LLM网关是商业模式的核心
|
||
|
||
**为什么?**
|
||
```
|
||
商业模式:
|
||
- 基础版:只能用DeepSeek-V3(¥1/百万tokens)
|
||
- 高级版:可用DeepSeek + Qwen3
|
||
- 旗舰版:可用所有模型
|
||
|
||
成本控制:
|
||
- 统一监控、限流、计费
|
||
- 超出配额自动降级
|
||
- 按版本动态切换模型
|
||
|
||
5个模块依赖(71%复用率)
|
||
```
|
||
|
||
---
|
||
|
||
### 2. 审稿系统极具独立价值
|
||
|
||
**为什么适合独立?**
|
||
```
|
||
1. 用户群完全不同(期刊编辑部 vs 临床医生)
|
||
2. 业务逻辑完全独立
|
||
3. 部署场景独立
|
||
4. 商业模式独立(按期刊订阅)
|
||
|
||
独立销售价值:⭐⭐⭐⭐⭐ 极高
|
||
```
|
||
|
||
---
|
||
|
||
### 3. 现在是最佳改造时机
|
||
|
||
**为什么现在做?**
|
||
```
|
||
Schema隔离:
|
||
- 现在:1周(数据量小)
|
||
- 未来:3-5周(数据量大,成本5倍)
|
||
|
||
Monorepo转换:
|
||
- 现在:2-3天(代码量适中)
|
||
- 未来:7-11天(多应用、代码量大)
|
||
|
||
总结:越早做,成本越低
|
||
```
|
||
|
||
---
|
||
|
||
### 4. Electron单机版代码复用率极高
|
||
|
||
**为什么可行?**
|
||
```
|
||
前端复用:90%+
|
||
- 所有React组件
|
||
- UI库、状态管理、路由
|
||
- 只需修改API调用层(1个文件)
|
||
|
||
后端复用:80%+
|
||
- 所有Service层(业务逻辑)
|
||
- Prisma ORM
|
||
- 只需适配:HTTP路由 → IPC Handler
|
||
|
||
总复用率:85%+
|
||
技术可行性:⭐⭐⭐⭐⭐
|
||
```
|
||
|
||
---
|
||
|
||
## 🚀 下一步行动建议
|
||
|
||
### 方案A:快速推进业务(推荐给时间紧迫的情况)
|
||
|
||
**本周:**
|
||
- ✅ 立即开始ASL模块开发
|
||
- ⚠️ 暂缓Schema隔离
|
||
- ⚠️ 暂缓Monorepo转换
|
||
|
||
**触发条件:**
|
||
- 开发运营管理端时,必须转换Monorepo
|
||
- 数据量超过50万行时,必须做Schema隔离
|
||
|
||
**优点:** 立即推进业务
|
||
**缺点:** 累积技术债,未来成本高
|
||
|
||
---
|
||
|
||
### 方案B:夯实基础,稳步推进(强烈推荐)
|
||
|
||
**第1周:Schema隔离 + Monorepo转换(5-6天)**
|
||
- Day 1-3:Schema隔离(逻辑隔离 → 物理隔离)
|
||
- Day 4-6:Monorepo转换
|
||
|
||
**第2周:开始ASL模块开发**
|
||
- 享受Schema隔离带来的清晰架构
|
||
- 享受Monorepo带来的代码复用便利
|
||
|
||
**优点:**
|
||
- ✅ 一次性还清技术债
|
||
- ✅ 为7个模块打下坚实基础
|
||
- ✅ 避免未来大规模重构
|
||
|
||
**缺点:**
|
||
- ⚠️ ASL模块延迟1周
|
||
|
||
**投入产出比:** ⭐⭐⭐⭐⭐ 极高
|
||
|
||
---
|
||
|
||
### 方案C:折中方案(推荐)
|
||
|
||
**本周:**
|
||
- Day 1-3:Monorepo转换(必须,近期开发运营管理端)
|
||
- Day 4-7:开始ASL模块开发
|
||
|
||
**下周:**
|
||
- 继续ASL模块开发
|
||
|
||
**未来(1-2个月后):**
|
||
- Schema隔离(数据量增长前)
|
||
|
||
**优点:**
|
||
- ✅ 解决最紧迫的问题(Monorepo)
|
||
- ✅ 快速推进业务(ASL)
|
||
- ✅ 延后但不放弃Schema隔离
|
||
|
||
**缺点:**
|
||
- ⚠️ Schema隔离成本会增加
|
||
|
||
---
|
||
|
||
## 📊 投入产出比分析
|
||
|
||
| 投入 | 成本 | 收益 | ROI |
|
||
|------|------|------|-----|
|
||
| **Schema隔离** | 1周 | 避免未来3-5周改造 | 300-500% |
|
||
| **Monorepo转换** | 2-3天 | 避免未来7-11天改造 | 300-400% |
|
||
| **架构设计** | 1天 | 清晰的技术路线图 | 无价 |
|
||
|
||
**总投入产出比:** ⭐⭐⭐⭐⭐ 极高
|
||
|
||
---
|
||
|
||
## 🎯 我的最终建议
|
||
|
||
### 推荐:方案B(夯实基础)⭐⭐⭐⭐⭐
|
||
|
||
**核心理由:**
|
||
|
||
**1. 投入1周,节省未来1个月**
|
||
```
|
||
现在投入:
|
||
- Schema隔离:3天
|
||
- Monorepo转换:3天
|
||
- 总计:6天(1周)
|
||
|
||
未来节省:
|
||
- Schema隔离:15-25天(3-5周)
|
||
- Monorepo转换:7-11天
|
||
- 总计:22-36天(1个月+)
|
||
|
||
投入产出比:300-500%
|
||
```
|
||
|
||
**2. 正处于最佳时机**
|
||
```
|
||
当前:
|
||
- 数据量小(< 1万行)
|
||
- 代码量适中
|
||
- 即将开发多个模块
|
||
- 团队小,沟通成本低
|
||
|
||
未来:
|
||
- 数据量大(100万行+)
|
||
- 代码量大
|
||
- 多个应用同时运行
|
||
- 重构影响范围大
|
||
```
|
||
|
||
**3. 为7个模块打下坚实基础**
|
||
```
|
||
ASL、DC、SSA、ST、RVW、ADMIN等模块:
|
||
- 直接享受Schema隔离的好处
|
||
- 直接享受Monorepo的代码复用
|
||
- 避免重复造轮子
|
||
```
|
||
|
||
**4. 避免技术债累积**
|
||
```
|
||
技术债的特点:
|
||
- 时间越久,利息越高
|
||
- 改造成本成倍增长
|
||
- 影响业务创新速度
|
||
|
||
现在改造 = 一次性还清
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ 今日完成清单
|
||
|
||
### 架构设计(100%完成)
|
||
|
||
- [x] 系统架构分层设计
|
||
- [x] 文档体系重构方案v2.0
|
||
- [x] 数据库架构说明
|
||
- [x] 运营管理端架构设计
|
||
- [x] Schema隔离方案与成本分析
|
||
- [x] 模块独立部署与单机版方案
|
||
- [x] Monorepo架构评估
|
||
|
||
### 关键决策(100%完成)
|
||
|
||
- [x] 三层架构设计
|
||
- [x] 8个业务模块规划
|
||
- [x] 4种部署方案设计
|
||
- [x] Schema隔离时机建议
|
||
- [x] Monorepo转换时机建议
|
||
|
||
### 文档产出(100%完成)
|
||
|
||
- [x] 7个核心架构文档
|
||
- [x] 6000+行详细设计
|
||
- [x] 完整的技术方案
|
||
|
||
---
|
||
|
||
## 🎉 恭喜!
|
||
|
||
**今天完成了非常扎实和深入的架构设计工作!**
|
||
|
||
我们从零开始,构建了一个:
|
||
- ✅ 清晰的三层架构
|
||
- ✅ 完整的8个业务模块规划
|
||
- ✅ 4种部署方案
|
||
- ✅ 详细的实施路径
|
||
|
||
**这些架构设计将指导未来6-12个月的开发工作!**
|
||
|
||
---
|
||
|
||
## 📌 明天开始可以做的事
|
||
|
||
### 选择1:立即开始开发
|
||
- ASL模块开发
|
||
- 使用现有架构
|
||
|
||
### 选择2:夯实基础(强烈推荐)
|
||
- Week 1:Schema隔离 + Monorepo转换
|
||
- Week 2:ASL模块开发
|
||
|
||
### 选择3:折中方案
|
||
- Day 1-3:Monorepo转换
|
||
- Day 4+:ASL模块开发
|
||
|
||
---
|
||
|
||
**您的选择?** 😊
|
||
|
||
我已经准备好全程协助您实施任何一个方案!
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|