上一篇介绍了统一配置中心的作用以及Server端代码实现
文章地址: https://www.jianshu.com/p/1a53233337ef
这章就讲client端(order服务)如何使用这个统一配置中心
代码实现:
order服务引入spring-cloud-config-client的依赖
将order服务的application.yml文件重命名为bootstrap.yml
下面配置就是指从eureka中找到config服务,从config服务里面获取本服务order-test环境的配置(未指定分支就是默认master分支)
############# 注意了这些注解,最好写规范些或者不要写,我在开发时有几次启动不成功就是注释写的不规范,
############# 如果有提示是因为这个文件导致启动失败就把注释全删了,还有上面那些空格缩进一定要规范
启动如果没有报数据库的错,一般就是没问题,再写个方法来验证一下是否获取到配置文件里的属性了没
说明已经获取到这些配置了。
特别注意了
这里有个地方需要注意一下,如果你的eureka服务不是采用默认的8761端口,那么你就需要在bootstrap.yml文件里面指定eureka地址,要不然会报错,找不到eureka服务的,进而找不到统一配置中心。
特别注意,如果你Git仓库同时有order.yml和order-test.yml,这时候你获取test环境时,它会自动把order.yml里面的配置和test里面的合在一起,所以order.yml是用来放共用的配置,order-test.yml是放针对这个环境单独的配置。
实现动态获取配置文件
按照刚才的,如果你修改git上面的配置,但是没有重新启动项目
你会发现,无论怎么刷新,都获取不到刚刚修改的配置,除非你重启项目。
这就说明我们还没有真的实现动态获取配置
还记得刚开始介绍的这个流程图吗,Git通知config-Server修改了配置,现在问题就卡在Server如何去通知product、order等服务。
企业中一般会通过消息中间件来通知具体服务、配置更改了,流程如下图所示