前言
随着系统的微服务化,将单体应用中的业务拆分成一个个子服务,每个服务的粒度相对较小,因此系统中会出现大量的服务。由于每个服务都需要必要的配置信息才能运行,导致配置文件也随着服务的增加而不断的增加,很难统一维护管理。此时配置中心是必不可少的。
什么是Spring Cloud Config?
SpringCloud Config
是微服务架构中的微服务提供集中化的外部配置支持,配置服务器为各个不同微服务应用的所有环境提供了一个中心化的外部配置。
SpringCloud Config分为 服务端和客户端两部分 。
服务端也称为 分布式配置中心,它是一个独立的微服务应用 ,用来连接配置服务器并为客户端提供获取配置信息,加密/解密信息等访问接口 。
客户端则是通过指定的配置中心来管理应用资源,以及与业务相关的配置内容,并在启动的时候从配置中心获取和加载配置信息配置服务器默认采用git来存储配置信息,这样就有助于对环境配置进行版本管理,并且可以通过git客户端工具来方便的管理和访问配置内容。
在搭建server
端前我们先在项目下面新建一个名称为config
目录用来存放配置文件,然后在目录里面新建三个配置文件,并提交到GitHub
上,如下所示:
application-dev.yml
文件内容:profiles: this is dev
application-test.yml
文件内容:profiles: this is test
application-prod.yml
文件内容:profiles: this is prod
配置文件新建好了,下面我们来搭建服务端。
server端
新建一个子模块spring-cloud-config-server
,然后在此模块下新建一个模块spring-cloud-config-server
,整体结构如下:
修改pom文件,引入spring cloud config server端依赖:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>spring-cloud-config</artifactId>
<groupId>com.chaytech</groupId>