registry/docs/需求.md
cheney cbe054e450
Some checks failed
build-and-deploy / build-and-deploy (push) Failing after 12s
retry2
2026-07-16 12:36:59 +08:00

4.2 KiB
Raw Blame History

需求文档:微服务配置管理中心 (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 设计模式,定义配置结构
编辑模式 配置值填写模式
只读模式 查看模式,禁止修改