4.2 KiB
4.2 KiB
需求文档:微服务配置管理中心 (Registry)
1. 项目背景
在微服务架构中,配置管理是核心基础设施之一。不同项目、不同环境、不同机房的配置散落在各处,缺乏统一的管理界面和规范。本系统旨在提供一个类 Windows 注册表风格的 Web 管理界面,实现配置的集中化、可视化、规范化管理。
2. 功能需求
2.1 项目管理
- FR-1-1:支持创建项目,项目创建时需指定项目名称、描述、以及是否启用机房/环境/分组维度
- FR-1-2:项目创建后,维度开关(机房/环境/分组)不可修改,只能通过项目转换机制处理
- FR-1-3:支持查看项目列表、项目详情
- FR-1-4:支持删除项目(级联删除所有关联配置)
2.2 配置维度
- FR-2-1:机房维度——用于隔离不同物理/云区域(如华北机房、华南机房)
- FR-2-2:环境维度——用于隔离不同运行阶段(如开发、测试、生产)
- FR-2-3:分组维度——用于项目内业务分组(如用户模块、订单模块)
- FR-2-4:维度启用后可在维度栏直接展示与筛选,不直接硬编码进配置路径
- FR-2-5:每个维度可配置映射方式——
path(作为配置存储路径前缀)或label(仅作筛选标签,不进入路径),默认path - FR-2-6:映射方式创建后可通过映射配置入口调整(维度启用开关仍不可改)
2.3 配置项管理
- FR-3-1:配置以路径形式组织,类似注册表键值结构;路径 = 映射为 path 的维度前缀 + 嵌套键
- FR-3-6:配置键支持嵌套,以
/分割;json 类型在展示时自动按.分割 - FR-3-7:提供配置导航地址栏,显示当前路径,可拷贝、可粘贴后回车跳转到对应目录(类似 Windows 注册表地址栏)
- FR-3-2:每个配置项支持类型指定:string、number、boolean、json
- FR-3-3:每个配置项必须有说明(description),用于文档化配置用途
- FR-3-4:支持配置项的新增、修改、删除
- FR-3-5:配置值根据类型进行格式校验
2.4 三种工作模式
- FR-4-1:规划模式——定义配置结构,包括字段名、类型、用途、值范围约束,类似"配置 Schema 设计"
- FR-4-2:编辑模式——在规划好的结构基础上填写实际配置值
- FR-4-3:只读模式——仅可查看配置,不可修改,用于日常查阅和审计
2.5 持久化方案
- FR-5-1:支持 JSON 文件持久化(当前版本实现)
- FR-5-2:预留扩展接口,后续支持 XML、YAML、SQLite、MySQL、Nacos
- FR-5-3:配置文件支持导出下载
- FR-5-4:配置文件支持导入合并
2.6 界面要求
- FR-6-1:左侧树形导航,按“path 维度前缀 + 嵌套键”逐级展开,视觉风格参考 Windows 注册表编辑器
- FR-6-2:右侧详情面板,顶部为配置导航地址栏,下方展示选中节点的配置项列表
- FR-6-3:每个配置项展示:键名、值、类型、说明
- FR-6-4:标题栏(应用名+当前项目)与工具栏分离;工具栏按项目/模式/配置/数据分组
- FR-6-5:维度栏独立展示已启用维度的筛选器与映射方式,并提供映射配置入口
3. 非功能需求
- NFR-1:技术栈:Node.js + Express 后端,原生 HTML/CSS/JS 前端
- NFR-2:后续对接 SSO 单点登录,当前版本暂不实现认证
- NFR-3:界面响应式,支持主流浏览器
- NFR-4:配置数据实时写入持久化存储,保证数据一致性
4. 术语定义
| 术语 | 说明 |
|---|---|
| 项目 (Project) | 配置管理的顶层隔离单元,对应一个微服务或应用 |
| 机房 (IDC) | 物理或云区域标识,如华北、华南、华东 |
| 环境 (Environment) | 运行阶段标识,如 dev、test、prod |
| 分组 (Group) | 业务模块分组,如 user、order、payment |
| 配置路径 (Path) | 注册表风格的层级路径,如 project/idc/env/group/key |
| 规划模式 | Schema 设计模式,定义配置结构 |
| 编辑模式 | 配置值填写模式 |
| 只读模式 | 查看模式,禁止修改 |