配置管理概述
最近更新时间: 2024-10-17 17:10:00
配置类型
配置类型 | 功能说明 | 适用应用类型 | 关联对象 | 发布对象 |
---|---|---|---|---|
【应用配置】 | 动态更新 Spring Cloud 或者 Dubbo 应用内的配置 | Spring Cloud 或 Dubbo 应用 | 应用 | 应用关联的部署组 |
【全局配置】 | 动态更新 Spring Cloud 或者 Dubbo 应用内的配置 | Spring Cloud 或 Dubbo 应用 | 命名空间 | 命名空间 |
【文件配置】 | 将文件配置发布到实例指定路径,发布成功后触发回调 | 任何应用类型 | 应用 | 应用关联的部署组 |
应用配置、全局配置、本地配置优先级
应用配置和全局配置属于 TSF 平台上的配置(下面称为远程配置
),本地配置是应用程序在代码工程中创建的配置(如 application.yml
和 bootstrap.yml
)。应用配置和全局配置的根本区别在于配置发布的范围,应用配置发布的范围是部署组维度,全局配置发布的范围是命名空间维度。
注意:
优先级:应用配置 > 全局配置 > 本地配置
当用户通过 TSF 控制台发布远程配置,微服务应用会按照配置的 key 来进行合并操作。例如,微服务应用本地application.yml
配置文件的内容中包括:
# application.yml
username: test_user1
feature.status: false
feature.color: red
TSF 平台上远程配置
的内容如下:
# TSF 应用配置或者全局配置
username: test_user2
feature.status: true
当远程配置
的发布范围包含了上面的服务实例,微服务应用会将远程配置和本地配置按照key
进行合并,最终生成的配置如下:
# 远程配置与本地配置合并结果
username: test_user2
feature.status: true
feature.color: red
多份应用配置发布到同一个部署组
TSF 支持多份应用配置发布到同一个部署组,多份配置会根据发布时间的先后顺序以key
进行合并。例如,应用 A 有两个应用配置项:config-1
、config-2
。
config-1
的配置内容:
# config-1
username: test_user1
feature.status: false
config-2
的配置内容:
# config-2
username: test_user2
feature.color: red
config-1
和config-2
先后发布到部署组group
,会按照key
进行合并。
# config-1 与 config-2 合并结果
username: test_user2
feature.status: false
feature.color: red