系统架构
产品与系统设计 · v0.1 草案
部署与模块拆分
先让职责独立,再按运行特点和客户需要拆分部署。
初期建议:模块化应用,加独立计算执行器
Web 工作台调用应用层,各业务模块有明确接口和数据归属。仿真、数据分析和文件转换交给后台执行器,避免长任务阻塞日常操作。
浏览器工作台 / 外部 Agent
↓
身份校验与应用接口
↓
业务模块(明确边界) → 任务队列 → 计算 / 仿真 / 转换执行器
↓ ↓
结构化数据与版本记录 文件、结果与运行日志“执行器”指运行具体任务的程序;它可以与应用部署在同一环境,也可以部署在拥有专用软件的机器上。
建议提前约定的事情
| 边界 | 约定 |
|---|---|
| 模块调用 | 通过公开接口,不依赖另一模块的内部表结构 |
| 文件访问 | 通过受控文件引用,不暴露固定服务器路径 |
| 长任务 | 统一记录输入、状态、日志、产物和取消请求 |
| 执行环境 | 记录软件与模型版本,按能力分派任务 |
| 配置 | 地址、凭据、启用模块与存储位置可配置 |
| 数据迁移 | 导出包含对象、版本、文件和依赖清单 |
初期可以共享数据库实例,数据表和迁移仍按拥有模块组织。跨模块事件与业务提交需要可靠衔接,避免数据已经提交却丢失通知。
模块独立部署时如何工作
独立的计算产品可以打包必要的项目、身份、任务和文件能力,通过导入或适配器获取输入。接入完整平台时,改为引用其他模块的对象。
模块需要明确必需依赖、可选能力和版本兼容范围。可选模块不可用时,界面说明缺少什么能力,并保留已经完成的工作。
DWSIM 的部署验证
计划通过适配器接入 DWSIM 的自动化能力。正式选择之前,需要用指定版本验证运行环境、模型加载、输入设置、求解、结果导出以及依赖和授权条件。
是否采用 Windows 执行节点、其他受支持环境或专门封装,保留为验证结果决定的选型。开源不等于所有操作系统与所有模型都能以同样方式运行。
面向企业交付
保留自有云环境与客户环境部署的可能性。项目数据、企业资产和平台通用资源有明确归属,检索、文件和 Agent 都遵循相同访问范围。
备份恢复不仅要恢复数据库,还要恢复对应文件、版本引用和发布清单。客户停用某个模块时,需要能够导出其拥有的数据与成果。
什么时候值得拆成服务
当模块需要不同运行环境、单独扩缩容、独立发布,或客户确实要单独部署时,再按已建立的边界拆分。服务数量本身不作为架构成熟度指标。