07.Config配置中心
# 01.配置中心介绍
- https://www.cnblogs.com/fengzheng/p/11242128.html
# 1.1 配置中心
Spring Cloud 配置中心为分布式系统中的服务器端和客户端提供外部化配置支持。
通过Config-Server,你可以在一个地方集中对所有环境中的应用程序的外部化配置进行管理。
例如,当一个应用程序从开发环境切换到测试环境,然后再从测试环境切换到生产环境
你可以使用Config-Server统一管理这些环境之间的配置,并确保应用程序在迁移时能够拥有它运行所需要的一切配置。
简而言之:
Config-Server 就是用来实现配置统一管理和不同环境间配置的统一切换的。
Config-Server 服务器的后端存储默认使用Git,因此它很容易支持配置环境的标签版本,同时可供多数的内容管理工具去访问。
你也可以很容易地添加其他的替代实现,并将它们插入到Spring配置中。
相关产品:
来自淘宝的Diamond:https://github.com/takeseem/diamond
来自百度的Disconf:https://disconf.readthedocs.io/zh_CN/latest/
来自Springcloud的Config-Server:https://cloud.spring.io/spring-cloud-stream/
# 1.2 配置中心三个角色
1)配置中心服务端:
- 为配置客户端提供对应的配置信息,配置信息的来源是配置仓库。
- 应用启动时,会从配置仓库拉取配置信息缓存到本地仓库中。
连接配置仓库、拉取远程配置&本地缓存、对外提供API接口服务。
2)配置中心客户端:
- 就是在启动时从服务端把配置信息拉取到本地,然后设置到 Enviroment 中。
- Spring Cloud Config 在项目启动时加载配置内容这一机制,导致了它存在一个缺陷,修改配置文件内容后,不会自动刷新。
- 默认访问 http://localhost:3302/actuator/refresh 接口会刷新配置
- github 提供了一种 webhook 的方式,当有代码变更的时候,会调用我们设置的地址,实现自动刷新
3)配置仓库:
- 为配置中心服务端提供配置信息存储,Spring Cloud Config 默认是使用git作为仓库的。
上次更新: 2024/3/13 15:35:10