1 环境
- 系统环境:win10
- 编辑器:IDEA
- springcloud:H版
- rabbitmq
2 简介
- springcloud bus通过轻量级消息代理连接各个微服务 可用广播配置文件来更改/或管理服务监控
- 安装rabbitmq文章参考
3 全部刷新
1 添加bus依赖
config-server和config-client pom都要添加
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
2 rabbitmq yml配置
config-server和config-client bootstrap.yml都要添加如下配置
spring:
rabbitmq:
host: xxxx
port: 5672
username: guest
password: guest
3 config-server添加监控依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
4 springsecurity配置文件
之前的config文章 重试关闭了springsecurity yml配置内容 现在打开
5 启动项目(config-server config-client eureka-server)
- 访问查看client是否实行刷新
- 修改文件 post --> http://localhost:8088/actuator/bus-refresh
- 再次访问 确实更新了
6 逐个刷新
1 打包config-client
2 启动2个client
java -jar config-client-0.0.1-SNAPSHOT.jar --server.port=8091
java -jar config-client-0.0.1-SNAPSHOT.jar --server.port=8090
3 再次修改git上的test文件 值为test321
4 未访问前
5 单个client接口刷新
- 现在我想刷新8090端口 8091不更新(真实场景下 也是 不可能刷新n个其他接口)
- 访问
http://localhost:8088/actuator/bus-refresh/client1:8090
- 访问
7 小结
依赖监控和rabbitmq 配置xxx bus-refresh rabbitmq
全部刷新(访问http://localhost:8088/actuator/bus-refresh)和逐个刷新(server没有变化) 逐个刷新需要对client进行yml配置 例如eureka {端口号} 访问post 监控有点区别http://localhost:8088/actuator/bus-refresh/应用名:端口号