7、RabbitMQ安装federation插件(节点与节点之间通信)

1、SET化架构实现(Rabbitmq双活)?

2、Federation插件的作用?

Federation演示:

准备两个RabbitMQ(我的是192.168.1.6;192.168.1.7)

3.安装Federation插件

3.1、普通安装插件(自己在linux机器上纯手工安装的RabbitMQ)

安装Federation管控台

安装成功后,刷新RabbitMQ管控台

3.2、在Docker中安装的RabbitMQ

3.2.1、首先查看RabbitMQ在docker中的容器ID

3.2.2、进入容器中

3.3.3、在容器里,可以如同普通安装MQ一样了。

安装完成后,同样刷新RabbitMQ的管控台

4、设置两个节点,进行通信

4.1、首先1.7下游节点上添加一个exchange,添加queue,并将队列和交换机进行绑定

4.2、设置Federation

4.3、配置策略

设置完成后,在去看创建的交换机和队列就会出现policy001

在去上游节点1.6去看,就会出现和下游节点1.7所设置的队列和交换机

5、测试

5.1、在上游节点1.6上的test.exchange中发送消息

5.2、发送消息后,可以去下游节点1.7上去查看test.queue的队列中是否有消息。

5.3、然后点进去消费消息,看看是不是刚才在上游1.6中发送的消息。

5.4、如果上游节点1.6也想获取test.exchange中的消息,就在1.6中新加一个queue,然后绑定到test.exchange中。这样test.exchange只要发送一条消息,上游和下游节点的队列都会接收这个消息。


 

 

1、SET化架构实现(Rabbitmq双活)?

7、RabbitMQ安装federation插件(节点与节点之间通信)_第1张图片

 

2、Federation插件的作用?

实现集群与集群间的数据同步;节点与节点之间的通信;

Federation插件是一个在不需要cluster,而broker之间传输消息的高性能插件。

Federation插件可以在broker或者cluster之间传输消息,链接的双方可以使用不同的users和virtual hosts、或者双方的rabbitmq和erlang版本不一致。Federation插件使用的是AMQP协议通信,可以接受不连续的传输。

Federation演示:

准备两个RabbitMQ(我的是192.168.1.6;192.168.1.7)

 

3.安装Federation插件

3.1、普通安装插件(自己在linux机器上纯手工安装的RabbitMQ)

rabbitmq-plugins enable rabbitmq_federation

安装Federation管控台

rabbitmq-plugins enable rabbitmq_federation_management

安装成功后,刷新RabbitMQ管控台

7、RabbitMQ安装federation插件(节点与节点之间通信)_第2张图片

3.2、在Docker中安装的RabbitMQ

3.2.1、首先查看RabbitMQ在docker中的容器ID

docker ps

3.2.2、进入容器中

docker exec -it MQ的容器ID /bin/bash

3.3.3、在容器里,可以如同普通安装MQ一样了。

7、RabbitMQ安装federation插件(节点与节点之间通信)_第3张图片

安装Federation插件和Federation管控台

rabbitmq-plugins enable rabbitmq_federation               //安装插件
rabbitmq-plugins enable rabbitmq_federation_management   //安装管控台

7、RabbitMQ安装federation插件(节点与节点之间通信)_第4张图片

安装完成后,同样刷新RabbitMQ的管控台

7、RabbitMQ安装federation插件(节点与节点之间通信)_第5张图片

 

4、设置两个节点,进行通信

我这里将192.168.1.6作为上游节点。192.168.1.7作为下游节点。我们发送给1.6节点上的消息,会被路由到1.7节点上。

4.1、首先1.7下游节点上添加一个exchange,添加queue,并将队列和交换机进行绑定

添加交换机

7、RabbitMQ安装federation插件(节点与节点之间通信)_第6张图片

添加队列

7、RabbitMQ安装federation插件(节点与节点之间通信)_第7张图片

队列和交换机绑定(点击队列,进入里面设置)

7、RabbitMQ安装federation插件(节点与节点之间通信)_第8张图片

4.2、设置Federation

7、RabbitMQ安装federation插件(节点与节点之间通信)_第9张图片

4.3、配置策略

7、RabbitMQ安装federation插件(节点与节点之间通信)_第10张图片

设置完成后,在去看创建的交换机和队列就会出现policy001

7、RabbitMQ安装federation插件(节点与节点之间通信)_第11张图片

7、RabbitMQ安装federation插件(节点与节点之间通信)_第12张图片

 

在去上游节点1.6去看,就会出现和下游节点1.7所设置的队列和交换机

7、RabbitMQ安装federation插件(节点与节点之间通信)_第13张图片

7、RabbitMQ安装federation插件(节点与节点之间通信)_第14张图片

 

5、测试

5.1、在上游节点1.6上的test.exchange中发送消息

7、RabbitMQ安装federation插件(节点与节点之间通信)_第15张图片

5.2、发送消息后,可以去下游节点1.7上去查看test.queue的队列中是否有消息。

7、RabbitMQ安装federation插件(节点与节点之间通信)_第16张图片

5.3、然后点进去消费消息,看看是不是刚才在上游1.6中发送的消息。

7、RabbitMQ安装federation插件(节点与节点之间通信)_第17张图片

5.4、如果上游节点1.6也想获取test.exchange中的消息,就在1.6中新加一个queue,然后绑定到test.exchange中。这样test.exchange只要发送一条消息,上游和下游节点的队列都会接收这个消息。

 

 

 

你可能感兴趣的:(Rabbitmq)