Spring Cloud 2-Bus 消息总线(九)
2020-01-13 23:02
39 查看
Spring Cloud Bus
服务架构
2.客户端配置 application.yml Controller.java 3.自动刷新配置
服务架构
在分布式配置中,客户端获取远程最新配置时(比如:Git),要手动发送POST请求客户端来刷新.在集群环境下,不是很方便.使用Spring Cloud Bus总线可以自动刷新客户端配置.
1.服务端配置
pom.xml
<!-- config-server 服务配置中心 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <!-- bus 消息总线 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency>
application.yml
spring: application: name: config-bus-server cloud: config: server: git: uri: https://github.com/xianghaizing/spring-cloud-learn search-paths: config-repo # 以下都是默认配置 rabbitmq: host: localhost port: 5672 username: guest password: guest server: port: 8888 management: endpoints: web: exposure: include: bus-refresh # 暴露刷新节点 2.x版本需要手动开启
2.客户端配置
pom.xml
<!-- spring mvc --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 配置中心client端 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <!-- bus 消息总线 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency>
application.yml
spring: application: name: config-bus-client cloud: config: uri: http://localhost:8888 name: lyf # 远程文件的application名字 profile: dev label: master bus: trace: enabled: true # 以下都是默认配置 rabbitmq: host: localhost port: 5672 username: guest password: guest server: port: 8040
name
远程文件的application名字rabbitmq
RabbitMQ服务地址以及用户名和密码
Controller.java
@RefreshScope @RestController public class BusClientController { @Value("${from}") private String from; @GetMapping("/from") public String getFrom(){ return this.from; } }
@RefreshScope必须添加才能自动刷新
3.自动刷新配置
依次启动:
- 启动RabbitMQ服务
- 启动服务端
- 启动多个客户端
验证顺序和方式跟之前一样.只是,现在要向服务端
发送请求,而不是客户端
!
POST: http://localhost:8888/actuator/bus-refresh
所有客户端的配置都已经更新.
转载于:https://www.cnblogs.com/linyufeng/p/10205328.html
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- SpringCloud微服务云架构构建B2B2C电子商务平台之-(八)消息总线(Spring Cloud Bus)
- SpringCloud入门学习笔记8--消息总线组件SpringCloudBus
- 第八篇: 消息总线(Spring Cloud Bus)
- 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
- 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
- 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
- 消息总线(Spring Cloud Bus) SpringCloud【08】
- 第八篇: 消息总线(Spring Cloud Bus)
- 第八篇: 消息总线(Spring Cloud Bus)
- Spring Cloud 入门教程(十):和RabbitMQ的整合 -- 消息总线Spring Cloud Netflix Bus
- 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)
- springCloud 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)
- 第八篇: 消息总线(Spring Cloud Bus)
- 一起来学Spring Cloud | 第八章:消息总线(Spring Cloud Bus)
- SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)(Finchley版本)
- SpringCloud 教程 (一) 消息总线(Spring Cloud Bus)
- java版spring cloud+spring boot+redis社交电子商务平台(八)消息总线(Spring Cloud Bus)
- Spring Cloud学习:07消息总线(Spring Cloud Bus)
- Spring-Cloud Bus消息总线 Zuul路由(反向代理)
- 第八篇: 消息总线(Spring Cloud Bus)