2016-12-26 138 views
-2

我正在使用RabbitMQ作为我系统中组件的消息总线来相互通信。由于某些原因,我想停止发布者向队列/交换机发送消息一段时间,稍后恢复。你能否建议一种方法来实现它?我一直在阅读编写rabbitMQ插件,但由于我对Erlang知之甚少,我不确定它能做我期望的。在RabbitMQ中阻止来自接收消息的队列

感谢, 迈克尔

+0

添加一些你想要实现的用例的例子,你的配置是什么等等。你可以停止你的生产者代码发送消息,或者Derick建议你可以删除队列绑定。您需要提供更多信息以获得正确答案。 –

回答

0

我想停止发布者发送m消息队列/交换一段时间并稍后恢复。

如果您不在意丢失消息,您只需要删除相关队列的exchange - >队列绑定。这将阻止消息被路由到队列。

如果您需要“继续”接收您离开的消息,则不能这样做。当消息最初发布时,队列或者接收消息或者不接收消息。例如,您发布消息1,2,3,4和5.消息3发布后,您“停止”路由到队列。稍后,您想要重新启动路由并在同一队列中接收消息4和5 ......这是不可能的。

如果您需要“简历”选项,您最好的选择是停止您的消费者并让消息在队列中收集。当您需要再次开始处理消息时重新启动您的消费者。

相关问题