认识Spring Cloud Config
Spring Cloud Config适用于Spring应用程序,当然也可以结合其他语言编写的应用程序配合使用。Spring Cloud Config为分布式系统中的外部配置提供了配置服务器(简称服务器)和配置客户端 (简称客户端),即Config Server和Config Client。通过对
Config Server和Config Client的配置,可以很好地管理集群中的配置文件。
为了大家更好地认识Spring Cloud Config,下面我们分别针对Config Server和Config Client进行介绍。
1、 Config Server
Config Server是一个可横向扩展、集中式的配置服务器,它用于集中管理每个微服务环境下的配置,默认是在Git存储配置内容(本书只对Git存储配置做详解,也可以使用其他存储配置),这样做可以方便实现对配置的版本控制与内容审计。Config Server服务器主要有下列用途:
(1) 分布式配置中心,独立的微服务应用,用来连接配置仓库(Git)并为客户端提供获取配置信息的访问接口。
(2) 对配置文件中的属性进行加密和解密。
(3) 通过使用@EnableConfigServer注解可以简单地嵌入Spring Boot的应用中。
2、 Config Client
Config Client是Config Server的客户端,用于操作存储在Config Server中的配置属性,它主要有下列用途:
(1) 绑定配置服务器,使用远程仓库的配置文件中的属性来初始化Spring容器。
(2) 对配置文件中的属性进行加密和解密。
接下来,结合Spring Cloud Config服务器和客户端的作用,我们通过一张图来描述Spring Cloud Config架构,如图1所示。
图1 Spring Cloud Config架构图
在图1中,所有的Config Client都是从Config Server中获取配置信息。因为在实际开发中,我们会先把服务配置都放在远程Git仓库中,Config Client在启动时,会请求Config Server,Config Server中存放了它提前从远程Git仓库中提取的配置信息,
Config Client只需从Config Server获取所需要的配置信息,然后缓存这些配置信息以提高性能。