配置数据的单一来源原则是什么
单一来源原则指同一条配置数据在系统里只有一个权威定义处,其他位置只能引用不能各自维护副本。它的价值是消除「两处不一致」这类难复现故障:改了一处忘了另一处,行为就会与环境预期不符。落地要点有三条:明确每条数据的归属系统(配置仓库、配置中心、资产库、密钥库各管一类);下游通过引用或注入获取,而不是复制粘贴;发现重复定义时立即收敛,不让两处长期并存。
基本信息
| 定义 | 每条配置数据只有一个权威来源 |
|---|---|
| 来源划分 | 代码与配置仓库、配置中心、资产库、密钥库 |
| 下游获取方式 | 引用、注入、按需拉取 |
| 禁止模式 | 复制粘贴、多处手工维护、文档里写死具体值 |
| 治理动作 | 定期扫描重复定义并收敛 |
典型使用场景
- 多环境地址与端点集中在配置中心维护
- 主机与设备清单以资产库为单一来源
- 密钥只存密钥库,其他位置仅引用
- 网络设备基线只存仓库,设备现状用于比对
- 文档中的参数表由权威来源自动生成而非手写
判断是否违反单一来源
判断是否违反单一来源
# 1) 同一语义的值在几处出现? 多于一处 → 存在风险
# 2) 这些位置分别由谁修改? 多人都改 → 高风险
# 3) 改一处另一处会同步吗? 不会 → 违反原则
# 4) 下游是引用还是复制? 复制 → 应改造为引用
# 收敛动作:保留权威来源,其余位置改为引用或自动生成数据类型与权威来源
| 数据类型 | 权威来源 | 副本带来的风险 |
|---|---|---|
| 应用配置 | 配置仓库或配置中心 | 副本导致环境行为不一致 |
| 资产信息 | 资产库 | 副本过期导致选错目标 |
| 凭据 | 密钥库 | 副本随仓库扩散导致泄露 |
| 基线配置 | 配置仓库 | 副本随时间偏离基线 |
文档也是副本来源:手写的参数表、拓扑图、清单极易过期。可行做法是让文档从权威来源自动生成,或在文档中只保留说明与链接而不复制具体值。
收敛重复定义时要先确认哪一侧是权威来源,并检查两侧实际差异。直接删掉副本可能丢掉只存在于副本中的、确实有效的本地改动。