SpringCloud H版 Config+Bus 实现全局配制刷新
Posted 小毕超
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud H版 Config+Bus 实现全局配制刷新相关的知识,希望对你有一定的参考价值。
一、Spring cloud Bus
在上篇文章中我们介绍了Spring cloud config的使用,但是应该可以发现一个问题,就是我们在修改完 git 中的配制后,让每个服务生效,需要按个调用刷新接口,如果服务非常多的时候,岂不是非常难受,因此本篇就来介绍下Spring cloud Bus + Spring cloud config实现自动刷新全部服务的功能。
上篇文章地址:https://blog.csdn.net/qq_43692950/article/details/122024549
Spring Cloud Bus是用来将分布式系统的节点与轻量级消息系统链接起来的框架,
它整合了Java的事件处理机制和消息中间件的功能。
Spring Clud Bus目前支持RabbitMQ和Kafka。
二、Spring cloud 引入 Bus
首先启动一台RabbitMQ
在上篇文章的基础上,我们对项目进行修改:
1. 修改 config server端
在pom中添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
配制文件修改:
spring:
application:
name: config-center #注册进Eureka服务器的微服务名
cloud:
config:
server:
git:
# uri: git@gitee.com:app94/cloud-config.git #GitHub上面的git仓库名字
uri: https://gitee.com/app94/cloud-config.git #GitHub上面的git仓库名字
username: $(username)
password: $password
####搜索目录
search-paths:
- application
####读取分支
label: master
rabbitmq:
host: 192.168.40.1
port: 5672
username: guest
password: guest
##rabbitmq相关配置,暴露bus刷新配置的端点
management:
endpoints: #暴露bus刷新配置的端点
web:
exposure:
include: 'bus-refresh'
主要加入了rabbitmq配制和 暴露bus刷新配置的端点。
2. 修改 config client端
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
配制文件修改:
spring:
application:
name: config-client
cloud:
#Config客户端配置
config:
label: master #分支名称
name: application #配置文件名称
profile: consumer #读取后缀名称 上述3个综合:master分支上config-dev.yml的配置文件被读取http://config-3344.com:3344/master/config-dev.yml
# uri: http://localhost:8070 #配置中心地址k
discovery:
enabled: true
service-id: CONFIG-CENTER
rabbitmq:
host: 192.168.40.1
port: 5672
username: guest
password: guest
management:
endpoint:
shutdown:
enabled: false
endpoints:
web:
exposure:
include: "*"
主要加入了rabbitmq配制和 暴露端点。
三、测试
先查看下当前的配制,调用测试接口,查看打印日志:
修改 Git 中的配制内容:
使用PostMan调用接口:http://localhost:8070/actuator/bus-refresh
注意调用的是client-server的地址。
然后再次调用测试接口,查看打印日志:
喜欢的小伙伴可以关注我的个人微信公众号,获取更多学习资料!
以上是关于SpringCloud H版 Config+Bus 实现全局配制刷新的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud学习系列之五-----配置中心(Config)和消息总线(Bus)完美使用版
SpringCloud Config Bus webhook 只能刷新config server 不能刷新config client
5.SpringCloud -- 配置中心 Config消息总线 Bus链路追踪 Sleuth配置中心 Nacos