SpringCloud Bus动态刷新全局广播

文章目录

  • 代码地址
  • 配置项目
  • 配置修改
    • 测试
  • SpringCloud Bus动态刷新定点通知

代码地址

地址:https://github.com/13thm/study_springcloud/tree/main/days11_%20Bus

配置项目

必须先具备良好的RabbitMQ环境先

演示广播效果,增加复杂度,再以3355为模板再制作一个3366

  1. 新建:cloud-config-client-3366
  2. 写pom
  3. 写yml
  4. 主启动类
  5. 写服务类

目的:
利用消息总线触发一个服务端ConfigServer的/bus/refresh端点,而刷新所有客户端的配置

配置修改

  1. 给cloud-config-center-3344配置中心服务端添加消息总线支持
    修改pom 和yml
  2. 给cloud-config-client-3355配置中心服务端添加消息总线支持
    修改pom 和yml
  3. 给cloud-config-client-3366配置中心服务端添加消息总线支持
    修改pom 和yml

测试

先启动!
SpringCloud Bus动态刷新全局广播_第1张图片

http://config-3344.com:3344/master/config-dev.yml

SpringCloud Bus动态刷新全局广播_第2张图片

http://localhost:3355/configInfo

SpringCloud Bus动态刷新全局广播_第3张图片

http://localhost:3366/configInfo

SpringCloud Bus动态刷新全局广播_第4张图片
然后再Gitee里面修改
SpringCloud Bus动态刷新全局广播_第5张图片
发送一次:curl -X POST “http://localhost:3344/actuator/bus-refresh”
SpringCloud Bus动态刷新全局广播_第6张图片

结果:三个都修改了! 成功!
SpringCloud Bus动态刷新全局广播_第7张图片
SpringCloud Bus动态刷新全局广播_第8张图片
SpringCloud Bus动态刷新全局广播_第9张图片

SpringCloud Bus动态刷新定点通知

不想全部通知,只想定点通知

只通知3355 不通知3366

公式:http://localhost:配置中心的端口号/actuator/bus-refresh/

例子:
curl -X POST "http://localhost:3344/actuator/bus-refresh/config-client:3355"

/bus/refresh请求不再发送到具体的服务实例上,而是发给config server并通过destination参数类指定需要更新配置的服务或实例

curl -X POST "http://localhost:3344/actuator/bus-refresh/config-client:3355"

SpringCloud Bus动态刷新全局广播_第10张图片

实现了只通知3355 不通知3366

你可能感兴趣的:(springcloud,spring,cloud,spring,后端)