准备两个RabbitMQ(我的是192.168.1.6;192.168.1.7)
3.1、普通安装插件(自己在linux机器上纯手工安装的RabbitMQ)
3.2.1、首先查看RabbitMQ在docker中的容器ID
4.1、首先1.7下游节点上添加一个exchange,添加queue,并将队列和交换机进行绑定
设置完成后,在去看创建的交换机和队列就会出现policy001
在去上游节点1.6去看,就会出现和下游节点1.7所设置的队列和交换机
5.1、在上游节点1.6上的test.exchange中发送消息
5.2、发送消息后,可以去下游节点1.7上去查看test.queue的队列中是否有消息。
5.3、然后点进去消费消息,看看是不是刚才在上游1.6中发送的消息。
1、SET化架构实现(Rabbitmq双活)?
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管控台
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一样了。
安装Federation插件和Federation管控台
rabbitmq-plugins enable rabbitmq_federation //安装插件
rabbitmq-plugins enable rabbitmq_federation_management //安装管控台
安装完成后,同样刷新RabbitMQ的管控台
4、设置两个节点,进行通信
我这里将192.168.1.6作为上游节点。192.168.1.7作为下游节点。我们发送给1.6节点上的消息,会被路由到1.7节点上。
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只要发送一条消息,上游和下游节点的队列都会接收这个消息。