springcloud config 提取公共参数

  每一个微服务都有本身的配置文件application-local.yml和bootstrap.yml, 这个两个配置文件的读取顺序是先读取bootstrap.yml文件,在读取application-local.yml文件,参数名相同,则后者覆盖前者。
git

提取公共参数是由于,eurekazipkin等配置都是同样的,每个微服务都要进行配置,很繁琐,并且配置一多,就心烦。spring

提取公共配置参数,要借助Spring Cloud Config,我这里是把配置文件放在了gitlab上,固然你也能够放在GitHub和其余相关的代码托管平台上。以下图

bootstrap

 

spring cloud config 官网里有这么一段话:app

With file-based (git, svn, and native) repositories, resources with file names in application* (application.propertiesapplication.ymlapplication-*.properties, and so on) are shared between all client applications. You can use resources with these file names to configure global defaults and have them be overridden by application-specific files as necessary.ide

The #_property_overrides[property overrides] feature can also be used for setting global defaults, with placeholders applications allowed to override them locally.svn

 

也就是说gitlab上的application-local.yml和application-test.yml能够做为全局的配置文件,后面的-test和-local是做为占位符同样的存在。微服务

占位符就是运行环境,dev、test、pro等,固然也能够本身制定名字,记得在读取config文件时指定好。就是下图中profile:local的配置项。gitlab

 

 

必定要分清读取顺序:spa

首先会读取bootstrap.yml里面的参数,3d

而后会读取gitlab上application.yml上的配置,

最后读取微服务本地的application.yml文件。

参数名相同,后者覆盖前者。

 

我本地的配置文件以下图:

 

 这样你就能够把通用的公共配置参数提取到gitlab上的application文件上了,根据环境指定运行时要读取的文件,也就是占位符(-test、-local)

相关文章
相关标签/搜索