我们管理分布式应用时,希望可以将远程配置文件库的变化同步更新到应用中,要实现这个功能需要以下几个步骤
1.在pom.xml文件中添加actuor依赖
<!-- 动态刷新配置
更新了Git仓库中的配置文件,那如何让config-client能够及时感知到呢?
动态刷新配置
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
2.在使用了远程配置文件属性的类上加上@RefreshScope注解
3.更新git仓库中的配置文件
4.手动调用config-client的actuor提供的refresh节点,注意这是一个post类型的节点,可以使用curl或者restlet等工具调用。
5.调用config-client中查看远程配置文件属性的节点,发现属性值完成了动态更新。
可以搭配git提供的webhook功能实现提交配置修改同步更新(绑定调用config-client的/refresh节点)的功能。下一节将介绍如何通过rabbitmq实现消息总线同时更新多个服务实例。