外部集中化配置管理
Spring Cloud Config 可以为微服务架构中的应用提供集中化的外部配置支持,它分为服务端和客户端两个部分,本文将对其用法进行详细介绍。
Spring Cloud Config 简介
Spring Cloud Config 分为服务端和客户端两个部分。服务端被称为分布式配置中心,它是个独立的应用,可以从配置仓库获取配置信息并提供给客户端使用。客户端可以通过配置中心来获取配置信息,在启动时加载配置。Spring Cloud Config 的配置中心默认采用Git来存储配置信息,所以天然就支持配置信息的版本管理,并且可以使用Git客户端来方便地管理和访问配置信息。
在Git仓库中准备配置信息
由于Spring Cloud Config 需要一个存储配置信息的Git仓库,这里我们先在Git仓库中添加好配置文件再演示其功能,Git仓库地址为:https://gitee.com/skydog2/spring-cloud-config-test。
配置仓库目录结构
master分支下的配置信息
- config-dev.yml:
config:
info: "config info for dev(master)"
- config-test.yml:
config:
info: "config info for test(master)"
- config-prod.yml:
config:
info: "config info for prod(master)"
dev分支下的配置信息
- config-dev.yml:
config:
info: "config info for dev(dev)"
- config-test.yml:
config:
info: "config info for test(dev)"
- config-prod.yml:
config:
info: "config info for prod(dev)"
创建config-server模块
这里我们创建一个config-server模块来演示Spring Cloud Config 作为配置中心的功能。
- 在pom.xml中添加相关依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
- 在application.yml中进行配置
server:
port: 8601
spring: