Spring Cloud Bus服务总线(基于RabbitMQ的远程配置刷新)
Spring Cloud Bus是用轻量的消息代理将分布式的节点连接起来,可以用于广播配置文件的更改或者服务的监控管 理。也就是消息总线可以为微服务做监控,也可以实现应用程序之间相互通信。 Spring Cloud Bus可选的消息代理 有RabbitMQ和Kafka。
springcloud配置中心可以通过配置RabbitMQ,完成不需要重启服务,就可以从码云或Git远程更新配置
本文主要说明windows如何安装与配置RabbitMQ
第一步:下载并安装erlang
RabbitMQ服务端代码是使用并发式语言Erlang编写的,安装Rabbit MQ的前提是安装Erlang。
官网地址: http://www.erlang.org/downloads
选择你用的版本,我的是64位,下载完成是这个东西
点击安装,选择你的你想要安装的路径,其他一直点next到完成就行了
配置环境变量,新建一个系统变量:ERLANG_HOME,目录是你安装的目录
在path变量中添加此变量:%ERLANG_HOME%\bin,记得前面加分号表示隔开变量
打开cmd,输入erl,出现版本号即成功,如果未出现,应该是环境变量未更新可以重启试一试,或者是你配错了
第二步:下载并安装RabbitMQ
官网地址:http://www.rabbitmq.com/download.html
同样是下载点击安装,选择安装路径,一直点next到安装完成就行
打开cmd(最好以管理员身份运行打开)
输入盘符加上冒号进入你安装的磁盘
cd 你复制过来的文件路径
即可进入到安装目录的sbin文件夹
然后复制输入:rabbitmq-plugins enable rabbitmq_management
然后复制输入:rabbitmq-plugins enable rabbitmq_management
按下Enter确定
等待一会即可完成安装
安装结束后,在此目录输入rabbitmqctl status
出现一大堆内容,说明安装成功,我这里有乱码汉字原因是我电脑命名是中文未被识别,这不影响使用
进入安装目录的sbin运行server
结尾出现表示运行成功
此时就可以打开http://localhost:15672访问你的RabbitMQ管理界面了
输入管理员账号密码,默认是都是guest,登录后选择admin
即可对你的用户进行权限控制
三.此时在你的配置中心模块配置
引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-bus</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>
增加你配置中心的配置,添加RabbitMQ的登录相关配置,我这里直接使用的是本地的默认账户
以上添加内容在server模块也添加一次
之后给你的server模块里的controller添加
@RefreshScope
注解
就可以通过Postman或者RESTClient工具发送POST方式请求访问地址 http://127.0.0.1:12000/actuator/bus-refresh完成刷新配置了
如果使用其他自定义账户,记得授权
https://blog.csdn.net/hdn_kb/article/details/94553386