Federation 具备的数据转发功能类似, Shovel 够可靠、持续地从一个 Broker 中的队列 ( 作为源端,即source)拉取数据并转发至另一个 Broker 中的交换器 ( 作为目的端,即 destination) 。作为源端的队列和作为目的端的交换器可以同时位于同一个 Broker ,也可以位于不同的 Broker 上。 Shovel 可以翻译为 " 铲子 " ,是一种比较形象的比喻,这个" 铲子 " 可以将消息从一方 " 铲子 " 另一方。 Shovel 行为就像优秀的客户端应用程序能够负责连接源和目的地、负责消息的读写及负责连接失败问题的处理。
开启插件
需要的机器都开启插件
rabbitmq-plugins enable rabbitmq_shovel
rabbitmq-plugins enable rabbitmq_shovel_management
原理图
在源头发送的消息直接回进入到目的地队列,比如将Q1的队列消息发送到Q2的队列消息
添加 shovel
添加源和目的地 ,amqp://admin:123@node1,admin为用户,123为密码,node1为机器节点hostname
添加成功