Spring Cloud - 配置中心
最近几天尝试用了下Spring Cloud Config, 主要是从这个开始学习一系列的Spring Cloud组件(所谓的Spring Cloud全家桶)。
本以为Spring Could Config是这些中最简单的,但没想到官方文档写的有些模糊,比如在git下的/{application}/{profile}/{label}如何同git仓库repo,pattern下的配置文件相对应,看源代码也有些云里雾里(主要没立刻看明白)。
我假设的需求如下:
1. 从git仓库中获取配置文件信息
2. 每个application对应git中的特定文件夹
3. 配置文件更新后,client端能自动更新
Spring Cloud Config支持多种配置仓库,比如文件形式,本地git仓库,远程仓库,数据库,还有个Vault(这个不了解),如下使用文件/git形式
文件形式:
(1) 配置文件放在classpath下
(2) application.yml中配置如下
(3) 启动config server,访问http://localhost:9090/client-config-demo/dev
可以看到访问需要符合{application}/{profile}的形式
Git形式:同时参照了此处
(1) 配置文件在git中的位置
app1, app2分别代表2个application,app1下有application-*的yml配置文件
(2) application.yml中配置如下
重点是search-paths,使用占位符{application}
(3) 启动config server,访问http://localhost:9090/app1/dev
配置文件更新后,据说Client可以通过@RefreshScope获得更新,后续研究。