八.Spring Cloud消息总线实践(Bus)

开宗明义
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登录(默认帐号密码)


Screenshot from 2018-02-25 18-12-31.png

2 改造config-client

2.1 添加rabbitmq依赖


Screenshot from 2018-02-25 18-23-07.png

2.2 配置application.properties文件


Screenshot from 2018-02-25 19-24-34.png

2.3 依次启动eureka-server、confg-cserver,启动两个config-client,端口为8772,8773


Screenshot from 2018-02-25 19-28-17.png

2.3.1 访问http://localhost:8772/hihttp://localhost:8773/hi

Screenshot from 2018-02-25 19-30-51.png

Screenshot from 2018-02-25 19-30-38.png

2.4 去代码仓库将foo的值改为“foo version 4”,即改变配置文件foo的值,传统做法,需要重启服务,才能达到配置文件的更新


Screenshot from 2018-02-25 19-35-59.png

2.4.1 现在我们只需要发送get请求:http://localhost:8771/bus/refresh(config-client的api),config-client就会重新读取配置文件

2.4.2 再次访问http://localhost:8772/hihttp://localhost:8773/hi(暂未成功刷新,有待研究)

Screenshot from 2018-02-25 19-57-52.png

2.4.3 此外,/bus/refresh接口可以指定服务,即使用”destination”参数,比如 “/bus/refresh?destination=customers:**” 即刷新服务名为customers的所有服务,不管ip

此时,整体架构如下:


Screenshot from 2018-02-25 19-57-52.png

未完待续......

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容