【Springcloud】详解Config(配置中心)

大家好,今天我们说说Springcloud的第六个组件——Config。

Config是什么?

Config是为分布式系统中的基础设施和微服务应用提供集中化的外部配置,默认采用Git来存储配置信息。它分为两部分:

  • 服务端

又称为分布式配置中心,是一个独立的微服务应用,用来连接配置仓库并为客户端提供获取配置信息、加密/解密信息等访问接口。

  • 客户端

指的是各个微服务应用或基础设施,通过制定的配置中心来管理应用资源与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息。
在这里插入图片描述

服务端配置

基础架构

  • 远程Git仓库:

用来存储配置文件的地方

  • Config Server:

Config的服务端,指定了要连接的git仓库位置以及账号密码等信息。

  • 本地Git仓库:

每次客户端请求获取配置信息的时候,Config Server就会从Git仓库中获取最新配置到本地,然后再从本地Git仓库中读取并返回。
如果远程仓库无法获取,则直接将本地内容返回。

  • ServiceA、ServiceB:

Config中的客户端,就是我们平时开发的具体的微服务应用,其指定了Config Server的地址。当这些应用启动时,会向Config Server请求获取配置信息来进行加载。

仓库存储

仓库存储可选项为3个:Git、SVN、本地。Config中默认采用了Git。

健康监测

健康监测是为了监测git仓库是否可以连通。

属性覆盖

可以使用命令对属性进行自定义修改:

spring.cloud.config.server.overrides.name=didi

安全配置

我们可以使用Spring Security技术对配置中心进行安全保护。使用{cipher}作为前缀来对配置文件中的账号密码等进行加密解密。

客户端配置

URI指定配置中心

当Config的客户端启动时,会尝试连接服务端来获取远程配置信息并初始化Spring环境配置。所以,我们可以先在客户端配置文件中对服务端的相关信息进行设定。

spring.application.name=didispce
spring.cloud.config.profile=dev

spring.cloud.config.uri=http://localhost:7001/

失败快速响应与重试

Config的客户端在连接Config Server之前,会预先加载很多其它的信息,如果我们想实现客户端优先去判断Config Server是否正常,可以这样设置属性:

spring.cloud.config.failFast=true

如果判断不正常的话,可以使用重试功能来进行再次尝试。

动态刷新配置

Config支持对配置内容进行实时更新。

发布了258 篇原创文章 · 获赞 769 · 访问量 34万+

猜你喜欢

转载自blog.csdn.net/qsbbl/article/details/97759037