展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

Bus

之前的config配置,git更新后,config服务端可自动刷新,而所有的config客户端需发一个post请求;如何省略config客户端不用发请求的步骤
而使用Bus+config+RabbitMQ实现配置文件的动态刷新,业务逻辑如下:

消息总线:所有微服务都连接上一个公用的消息主题,所有微服务产生的消息会通过消息主题被其他微服务监听和消费
  • 全局广播案例:
Win10系统已安装rabbitmq
为了演示效果,新建cloud-config-client-3366作为config客户端,配置pom、yml、启动类,编写业务类
全局广播的两种方式:git更新后,触发一个客户端/bus/refresh进而刷新所有客户端;git更新后,触发服务端/bus/refresh进而刷新所有客户端;在开发中通常使用方式二
在config-server端3344模块添加消息总线支持:pom中引入bus依赖,yml中配置RabbitMQ
在config-client端3355、3366模块添加消息总线支持:pom中引入bus依赖,yml中配置RabbitMQ
启动测试:更新git,向3344服务端发送请求curl  -X POST "http://localhost:3344/actuator/bus-refresh"      # 此时客户端集群不需要发送post请求也获取到最新配置了
  • 定点通知案例:
例如多个config-client端中,只想更新3355
git更新后,发送请求curl -X POST "http://localhost:3344actuator/bus-refresh/config-clent:3355"       # 指定3355
posted @ 2022-07-27 11:52  DogLeftover  阅读(48)  评论(0编辑  收藏  举报