3.1-bus-概述

1587799845708.png

• Spring Cloud Bus 是用轻量的消息中间件将分布式的节点连接起来,可以用于广播配置文件的更改或者服务的监控管理。关键的思想就是,消息总线可以为微服务做监控,也可以实现应用程序之间相通信。

• Spring Cloud Bus 可选的消息中间件包括 RabbitMQ 和 Kafka

3.2-bus-快速入门

  1. 分别在 config-server 和 config-client中引入 bus依赖:bus-amqp 和actuator依赖

    1. <!-- bus -->
    2. <dependency>
    3. <groupId>org.springframework.cloud</groupId>
    4. <artifactId>spring-cloud-starter-bus-amqp</artifactId>
    5. </dependency>
    6. <dependency>
    7. <groupId>org.springframework.boot</groupId>
    8. <artifactId>spring-boot-starter-actuator</artifactId>
    9. </dependency>
  2. 分别在 config-server 和 config-client中配置 RabbitMQ
    bootstrap.yml
    OrderController上添加@RefreshScope注解

    1. #配置rabbitmq信息
    2. rabbitmq:
    3. host: localhost
    4. port: 5672
    5. username: guest
    6. password: guest
    7. virtual-host: /

    ```java @RestController @RequestMapping(“/order”) @RefreshScope public class OrderController {

  1. @Value("${itheima}")
  2. private String itheima;
  3. ...
  4. }
  1. 3. config-server中设置暴露监控断点:bus-refresh<br />application.yml
  2. ```yaml
  3. # 暴露bus的刷新端点
  4. management:
  5. endpoints:
  6. web:
  7. exposure:
  8. include: 'bus-refresh'
  1. 启动测试
    curl结果中没有信息,说明成功了
    curl -X POST http://localhost:9527/actuator/bus-refresh

1587801187953.png