本节先演示业务服务Consumer在程序中获取一个本服务自定义的配置,然后再加入Config服务的客户端依赖,使用Config服务获取配置,并且观察配置的优先级别。
(1)服务中获取自定义配置
在yml文件中,添加如下配置,自定义一个custom.foo属性,里面包含了一些标记信息。
更改Consumer服务的Controller,添加如下代码,可以通过接口获取配置信息。
通过Postman直接访问服务的接口可以得到配置信息,如图9-33所示。
(2)从Config服务获取配置
业务服务可以通过Config服务获取配置信息,只要在存储配置信息的Git工程中添加服务对应的配置项,在业务服务中添加Config客户端依赖,并且新建一个bootstrap.yml文件,配置Config服务的信息即可。
添加Git配置信息:
图9-33 通过接口获取配置(www.xing528.com)
在管理配置文件的Git工程中,选择master分支的service-consumer-dev.yml文件,在其中添加如下配置:
在Consumer工程中添加依赖:
在Consumer工程中添加bootstrap.yml文件,并且进行如下配置:
在bootstrap.yml文件中设置业务服务名,Config服务的uri地址和选择的profile。先后启动Config服务和Consumer服务,通过Postman获取foo信息,如图9-34所示。
图9-34 通过接口获取配置
由请求输出结果可见,可以通过Config服务获取配置,并且从Config服务获取的配置覆盖了业务服务本身的配置,这是Spring Boot的配置优先级导致的。
如果业务服务想从其他分支获取配置,只要在bootstrap.yml文件中添加spring.cloud.config.label={branch具体分支}配置即可。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。