配置文件的变动可以通过消息传给配置中心微服务客户端,这需要整合SpringCloud和RabbitMQ或者Kafka。
https://spring.io/projects/spring-cloud-bus
https://cloud.spring.io/spring-cloud-bus/reference/html/
在本地安装RabbitMQ,启动后查看管理地址:
http://localhost:15672
用户名:guest
密码:guest
查看交换机:
http://localhost:15672/#/exchanges
在配置中心服务micro-service-config-server工程中,加入rabbitMQ的依赖。
在application.yml配置文件中,加入rabbitMQ的地址和端口,用户名和密码为guest。
重启配置中心微服务,再查看RabbitMQ的交换机,可以看到springCloudBus状态。springCloudBus为topic消息,可以让客户端订阅配置中心的消息。
还可以查看消息队列,已经有一个springCloudBus连接的队列。
现在配置中心微服务已经和RabbitMQ连接,只要git有更新,通过配置git的Web Hooks,可以将消息发送给配置中心的订阅消息。配置中心得到更新的通知,拉取新的配置文件内容,这样其他微服务客户端也相应得到更新。
http://localhost:8888/actuator/bus-refresh