我正在使用RabbitQM服务器构建集群。我使用铲子插件从一个rabbitmq到另一个(不同的机器)提供消息
工作正常。但我想测试服务器之间没有网络连接时的行为方式。
在每台服务器上我都有本地队列。我将消息推送给它,然后铲子向远程rabbitmq队列发送消息
模拟我做的网络问题
iptables -D OUTPUT -d xx.xx.xx.xx -j DROP
禁用与远程服务器xx.xx.xx.xx的连接
然后我将消息推送到本地队列,它从队列中消失但不在远程服务器上! 怎么会这样?铲除是否在从队列中删除消息之前检查远程队列是否可用?
如何使其正常工作?我希望铲子不会从q队列中删除消息,直到确保将其传送到远程队列。
答案 0 :(得分:1)
我找到了解决问题的方法。 我改变了铲子的设置。 有选项
ask_mode,on_publish
我改为
ask_mode, on_confirm
它开始正常工作。