市场上的开源的配置中心有很多,如奇虎360的QConf、淘宝的Diamond、百度的Disconf、携程的Apollo都可解决上述提到的问题,同样地Spring Cloud提供的配置中心则是Spring Cloud Config。
Spring Cloud Config在官方文档中的表述:为分布式系统中的外部化配置提供服务器Config Server和客户端Config Client支持。使用Config Server,您可以在所有环境中管理应用程序的外部属性。
它与Spring应用程序非常契合,也可以与任何以任何语言运行的应用程序一起使用。
对于应用程序从开发到测试和生产的部署流程,Config Server都可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切。
服务器存储后端的默认实现使用git,因此它轻松支持配置信息的版本管理,以及可以访问用于管理内容的各种工具。
可以轻松添加替代实现,并使用Spring配置将其插入。
Spring Cloud Config默认支持的是从git存储读取配置信息,也支持从其他的存储方式读取配置信息,如本地文件系统、SVN仓库等。
想要学会使用Spring Cloud Config,我们需要先了解Spring Cloud Config实现配置的两个重要角色:Config Server和Config Client。
1.Config Server Config Server是一个集中式的配置服务器,它提供配置文件的存储配置,支持本地仓库读取配置,也支持远程git或SVN读取配置,默认为git存储配置,然后以接口的形式将配置文件的内容提供出去。
它主要有以下功能。
提供用于外部配置的基于HTTP资源的API。
对配置文件中的属性进行加密和解密。
可轻松地使用@EnableConfigServer注解将其应用到Spring Boot程序中 。
2.Config Client
Config Client是Config Server的客户端,可以通过Config Server提供的API获取到存储的配置属性,并依据此初始化自己的应用。
它主要有以下功能。
绑定到Config Server并使用远程属性源初始化Spring容器。
对配置文件中的属性进行加密和解密。
Config Server和Config Client实现配置读取的流程如图所示。
从图中我们可以看出,
Config Client的配置都是从Config Server中获取的,而Config Server根据我们自己配置的方式从本地配置文件或者Git仓库获取配置。
所以接下来我们想要实现分布式配置就需要进行和Config Server和Config Client的搭建和配置。
标签:Spring,配置,Server,Client,Config,Cloud From: https://www.cnblogs.com/cnetsa/p/16982654.html