简介
springCloud Config 用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持。它分为服务端和客户端两个部分,其中服务端称为分布式配置中心,用来连接配置仓库并为客户端提供配置信息。客户端则是微服务架构中的各个微服务应用。他们通过指定的配置中心来管理相关配置内容。
为什么需要统一配置中心
- 方便维护
- 配置内容安全与权限(别人不会轻易的看到我们的配置文件)
- 更新配置项目不需要重启
Config-server服务端配置
-
在maven中添加依赖:
- 在启动类上加上@EnableConfigServer注解
-
在application.yml中添加配置服务相关信息和Git仓库相关信息:
- 在Git仓库中创建配置文件
客户端配置
-
pom.xml中引入依赖:
-
在bootstrap.yml中配置类似如下内容来指定获取配置文件的config-server的位置:
-
通过@value("${from}")绑定服务中心配置的from属性,具体实现如下:
客户端从config-server获取配置信息流程
- 应用启动时,根据bootstrap.yml中的配置的application,profile,label向config-server获取配置信息
- config-server查找信息
- 通过git-clone命令将找到的配置信息下载到config-server文件系统中
- cofig-server从git本地仓库中加载配置文件,并返回给客户端
- 客户端接收配置文件
高可用配置
我们可以将config-server作为一个普通的微服务应用纳入Eureka的服务治理体系中。这样我们的微服务应用就可以通过配置中心的服务名来获取配置信息。对于服务端的负载均衡和配置中心指定都通过服务治理机制一并解决了