(七)Spring Cloud Bus 消息总线


Spring Cloud Bus做配置更新步骤如下:

1.提交代码触发post给Server端发送bus/refresh
2.Server端接收到请求并发送给Spring Cloud Bus
3.Spring Cloud bus接到消息并通知给其它客户端
4.其它客户端接收到通知,请求Server端获取最新配置
5.全部客户端均获取到最新的配置

在server端的代码做一些改动,来支持/actuator/bus-refresh
(1)添加依赖

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>

(2)application.yml

server:
  port: 8097
spring:
  application:
    name: spring-cloud-config-server
  cloud:
    config:
      server:
        git:
          uri: https://github.com/xxx/springcloud-config # git仓库的地址
          # search-paths:   # 仓库文件夹名称,多个以逗号分隔
          username:  #Git仓库用户名
          password:  #Git仓库密码
          default-label: main
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username:
    password:
management:
  endpoints:
    web:
      exposure:
        include: "*"
eureka:
  client:
    service-url:
      defaultZone: http://localhost:8761/eureka/

依次启动eureka,config-serve,config-client1,config-client2,修改git上的配置,访问curl -X POST http://localhost:8081/actuator/bus-refresh,可以看到两个客户端都能拿到修改后的值

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容