开宗明义
Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来。它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控
1 RabbitMq for linux安装
1.1 安装前必要库的安装
sudo apt-get install build-essential
sudo apt-get install libncurses5-dev
sudo apt-get install libssl-dev
sudo apt-get install m4
sudo apt-get install unixodbc unixodbc-dev
sudo apt-get install freeglut3-dev libwxgtk2.8-dev(此库不安装应该也可以)
sudo apt-get install xsltproc
sudo apt-get install fop
sudo apt-get install tk8.5
1.2 安装erlang
sudo apt-get install erlang
1.2.1 查看erlang安装版本
erl
1.3 安装rabbitmq
sudo apt-get install rabbitmq-server
1.3.1 查看运行状态
service rabbitmq-server status
1.4 配置rabbitmq
cd /etc/rabbitmq/
vim rabbitmq.config
添加内容:
[{rabbit, [{loopback_users, []}]}].
这里的意思是开放使用,rabbitmq默认创建的用户guest,密码也是guest,这个用户默认只能是本机访问
1.5 安装RabbitMQ监控管理插件进行RabbitMQ的管理
sudo rabbitmq-plugins enable rabbitmq_management
1.6 访问localhost:15672登录(默认帐号密码)
2 改造config-client
2.1 添加rabbitmq依赖
2.2 配置application.properties文件
2.3 依次启动eureka-server、confg-cserver,启动两个config-client,端口为8772,8773
2.3.1 访问http://localhost:8772/hi或http://localhost:8773/hi
2.4 去代码仓库将foo的值改为“foo version 4”,即改变配置文件foo的值,传统做法,需要重启服务,才能达到配置文件的更新
2.4.1 现在我们只需要发送get请求:http://localhost:8771/bus/refresh(config-client的api),config-client就会重新读取配置文件
2.4.2 再次访问http://localhost:8772/hi或http://localhost:8773/hi(暂未成功刷新,有待研究)
2.4.3 此外,/bus/refresh接口可以指定服务,即使用”destination”参数,比如 “/bus/refresh?destination=customers:**” 即刷新服务名为customers的所有服务,不管ip
此时,整体架构如下:
未完待续......