SET化消息中间件架构实现
SET化架构设计方案:基于集群
图中有两个集群,如果需要实现数据同步 ,那么通过Federation将集群一的node3和集群二的node1实现数据同步即可,在集群内可以通过镜像队列进行数据同步。
实现:通过Federation插件进行数据同步
1、准备好环境:虚拟机+centos7安装好rabbitmq
2个节点:192.168.2.208 、192.168.2.209
2、启动服务 service rabbitmq-server start &或者后台启用
3、启用Federation管理插件
rabbitmq-plugins enable rabbitmq_federation
rabbitmq-plugins enable rabbitmq_federation_management
4、访问http://192.168.2.209:15672/#/users管控台会出现如图所示:
5、选择 192.168.208作为上游节点,192.168.2.209作为下游节点:
在下游节点192.168.2.209操作:
(1)新建一个交换机、队列以及绑定
(2)http://192.168.2.209:15672/#/users管控台点击Federation Upstreams,
与上游节点建立关系:
接下来点击polices,添加策略:
(3) 添加完之后观察exchange和queue:
点击Federation status:
打开上游节点192.168.2.208:
打开Connections:
打开exchange,多了一条灰色的,这是个federation的通道,不能用来发送消息,还有刚才建立的test.exchange的交换机:
6、测试发送消息
在上游节点192.168.2.208 test.exchange 中发送一条消息
看下游节点192.168.2.209是否能够同步到该消息。
如果在192.168.2.208上也想接收该消息并消费,在208上新建一个队列与该test.exchange建立绑定即可。这样就可以实现多中心的数据同步。
————————————————
版权声明:本文为****博主「谢同学谢童鞋」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.****.net/LuuvyJune/article/details/94435884