SpringCloud Config 是用来为分布式系统中的微服务应用提供集中化配置的支持。它分为服务端Server和客户端Client,这两部分都是独立的应用,之间通过http进行通信。服务端Server作为配置仓库和客户端的中介,客户端则为分布式系统中的各个微服务应用。
文章来源:
先来看一下config的结构。
可以看到整个结构包括三个部分,客户端(各个微服务应用),服务端(中介者),配置仓库(可以是本地文件系统或者远端仓库,包括git,svn等)。
配置仓库中放置各个配置文件(.yml 或者.properties)
服务端指定配置文件存放的位置
客户端指定配置文件的名称
这中结构配置进行集中化管理,因为是分布式应用,当修改某个应用的配置的时候,就不需要到该应用中去修改相关的配置,并且修改之后还有重启应用,相对来说很麻烦。当迁移仓库的位置时,只需要修改server中的配置即可,Client中无需进行任何修改。
并且spring cloud config还支持热更新,当你修改了配置文件中的配置,通过post到server 应用操作,可以实现配置热更新,当Client中的类使用了@RefreshScope 注解,那么该类再次使用时,新更改的配置会生效。