有奖捉虫:办公协同&微信生态&物联网文档专题 HOT
以下视频将为您介绍 TSF 的配置管理功能:

为了解决分布式环境下多台服务实例的配置统一管理问题,TSF 提供了配置管理功能。




配置类型

应用配置:生效在单个应用上面,发布的范围是部署组维度,属于 TSF 平台上的配置。
全局配置:生效在整个集群或者命名空间,发布的范围是命名空间维度,属于 TSF 平台上的配置。
本地配置:是应用程序在代码工程中创建的配置(如 application.ymlbootstrap.yml)。
文件配置:支持用户通过控制台将配置下发到服务器的指定目录。应用程序通过读取该目录下的配置文件实现特殊的业务逻辑。
配置类型
功能说明
适用应用类型
关联对象
发布对象
动态更新 Spring Cloud,Dubbo 或者 Go-gRPC 应用内的配置
Spring Cloud,Dubbo 或 Go-gRPC 应用
应用
应用关联的部署组
动态更新 Spring Cloud,Dubbo 或者 Go-gRPC 应用内的配置
Spring Cloud,Dubbo 或 Go-gRPC 应用
命名空间
命名空间
将文件配置发布到实例指定路径,发布成功后触发回调
任何应用类型
应用
应用关联的部署组
说明
原生应用与 Mesh 应用不支持应用配置和全局配置。

配置模板

为了方便用户保存常用的配置信息,TSF 提供了 Ribbon、Hystrix、Zuul 等 Spring Cloud 组件的配置模板。用户可以基于已有的配置模板进行修改,也可以自定义编写配置模板。
用户可以基于配置模板来创建应用配置或者全局配置。

配置导出

TSF 支持配置导出功能,帮助您更加地方便管理配置。

应用配置、全局配置、本地配置优先级

应用配置和全局配置属于 TSF 平台上的配置(下面称为远程配置),本地配置是应用程序在代码工程中创建的配置(如 application.ymlbootstrap.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-1config-2
config-1的配置内容:
# config-1
username: test_user1
feature.status: false
config-2的配置内容:
# config-2
username: test_user2
feature.color: red
config-1config-2先后发布到部署组group,会按照key进行合并。
# config-1 与 config-2 合并结果
username: test_user2
feature.status: false
feature.color: red