前言
在基于微服务的分布式系统中,每个业务模块都可以拆分为一个独立自治的服务,多个请求来协同完成某个需求,在一个具体的业务场景中某个请求可能需要同时调用多个服务来完成,这就存在一个问题,多个微服务所对应的配置项也会非常多,一旦某个微服务进行了修改,则其他服务也需要作出调整,直接在每个微服务中修改对应的配置项是非常麻烦的,改完之后还需要重新部署项目。
微服务是分布式的,但是我们希望可以对所有微服务的配置文件进行集中统一管理,便于部署和维护,Spring Cloud 提供了对应的解决方案,即 Spring Cloud Config,通过服务端可以为多个客户端提供配置服务。
Spring Cloud Config 可以将配置文件存放在本地,也可以存放在远程 Git 仓库中。拿远程 Git 仓库来说,具体的操作思路是将所有的外部配置文件集中放置在 Git 仓库中,然后创建 Config Server,通过它来管理所有的配置文件,需要更改某个微服务的配置信息时,只需要在本地进行修改,然后推送到远程 Git 仓库即可,所有的微服务实例都可以通过 Config Server 来读取对应的配置信息。
接下来我们就一起来搭建本地 Config Server。
本地文件系统
我们可以将微服务的相关配置文件存储在本地文件中,然后让微服务来读取本地配置文件,具体操作如下所示。