RabbitMQ 可靠投递 (2)

先看下当前 RabbitMQ 版本是否安装了 shovel-plugin,如果有的话直接开启。

rabbitmq-plugins list rabbitmq-plugins enable rabbitmq_shovel rabbitmq-plugins enable rabbitmq_shovel_management

然后就可以在 Admin 面板里看到这个设置选项,怎么设置这里就不介绍了。主要就是配置下 amqp 协议地址,amqp://user:password@server-name/my-vhost

如果配置没有问题的话,应该是这样的一个状态,说明已经顺利连接到 rabbit_node2 broker

RabbitMQ 可靠投递

我们来看下 rabbit_node1rabbit_node2Connections 面板。
rabbit_node1(10.211.55.3):

RabbitMQ 可靠投递

rabbit_node2(10.211.55.4):

RabbitMQ 可靠投递

RabbitMQ shovel-plugin 插件在 rabbit_node1 broker 创建了两个 tcp 连接,端口 39544 连接是用来消费 plen.queue 里的消息,端口 55706 连接是用来推送消息给 rabbit_node2

我们来看下 rabbit_node1 tcp 连接状态:

tcp6 0 0 10.211.55.3:5672 10.211.55.3:39544 ESTABLISHED tcp 0 0 10.211.55.3:55706 10.211.55.4:5672 ESTABLISHED

rabbit_node2 tcp 连接状态:

tcp6 0 0 10.211.55.4:5672 10.211.55.3:55706 ESTABLISHED

为了验证 shovel-plugin 稳定性,我们将 rabbit_node2 下线。

RabbitMQ 可靠投递

然后再发送消息,发现消息会现在 rabbit_node1 plen.queue 里待着,一旦 shovel-plugin 连接恢复将消费 rabbit_node1 plen.queue 消息,然后投递给 rabbit_node2 plen.queue

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygfsy.html