SpringCloud-消息总线

1、Bus

1、概述

1、在微服务架构的系统中,通常会使用轻量级的消息代理来构建一个共用的消息主题,并让系统中所有微服务实
例都连接上,由于该主体中产生的消息会被所有的实例监听和消费,所以称之为总线。

2、SpringCloud-Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,整合了Java的事件处理机制
和消息中间件的功能,Bus目前支持两种消息代理:RabbitMQ和Kafka

3、基本原理:当一个服务刷新数据的时候,会将信息方法Topic中,这样其他监听该Topic的服务都能收到通知,
然后更新自身的配置。

4、配合这config使用,加强config

2、全局广播

1、在配置中心3001加上bus的pom依赖
 
        
            org.springframework.cloud
            spring-cloud-starter-bus-amqp
        

2、在yml里配置rabbitmq,暴露bus-refresh端点
management:
  endpoints:
    web:
      exposure:
        include: "bus-refresh"

3、在客户端3002和3003也加入bus的依赖,在yml添加rabbitmq的信息

4、启动Eureka服务器和3001、3002、3003,启动后修改github上的文件,3001及时刷新,
用postman对3001发送一个post请求,从而广播所有客户端刷新内容
    http://localhost:3001/actuator/bus-refresh

3、定点广播

1、定点刷新只需要在发送刷新请求的时候带上目的地地址即可
     http://localhost:3001/actuator/bus-refresh/spring.application.name:server.port

 

你可能感兴趣的:(SpingCloud)