Bus动态刷新全局广播配置实现
-
启动
- EurekaMain7001
- ConfigcenterMain3344
- ConfigclientMain3355
- ConfigclicntMain3366
-
运维工程师
- 修改Gitee上配置文件内容,增加版本号
- 发送POST请求
curl -X POST "http://localhost:3344/actuator/bus-refresh"
—次发送,处处生效
配置中心
http://localhost:3344/main/config-dev.yml
客户端
http://localhost:3355/configlnfo
http://localhost:3366/configInfo
获取配置信息,发现都已经刷新了
—次修改,广播通知,处处生效
- 原理就是在rabbitmq上新增一个springcloudbus交换机,然后通过广播通知到各个客户端上。
Bus动态刷新定点通知
不想全部通知,只想定点通知
- 只通知3355
- 不通知3366
简单一句话 - 指定具体某一个实例生效而不是全部
首先修改gitee上版本,由8变成9
公式:http://localhost:服务配置中心端口/actuator/bus-refresh/{destination}
/bus/refresh请求不再发送到具体的服务实例上,而是发给config server通过destination参数类指定需要更新配置的服务或实例
案例
我们这里以刷新运行在3355端口上的config-client(配置文件中设定的应用名称)为例,只通知3355,不通知3366
curl -X POST "http://localhost:3344/actuator/bus-refresh/config-client:3355
3344:
3355:
3366:
通知总结