2016-12-26 131 views
-2

我正在使用RabbitMQ作爲我係統中組件的消息總線來相互通信。由於某些原因,我想停止發佈者向隊列/交換機發送消息一段時間,稍後恢復。你能否建議一種方法來實現它?我一直在閱讀編寫rabbitMQ插件,但由於我對Erlang知之甚少,我不確定它能做我期望的。在RabbitMQ中阻止來自接收消息的隊列

感謝, 邁克爾

+0

添加一些你想要實現的用例的例子,你的配置是什麼等等。你可以停止你的生產者代碼發送消息,或者Derick建議你可以刪除隊列綁定。您需要提供更多信息以獲得正確答案。 –

回答

0

我想停止發佈者發送m消息隊列/交換一段時間並稍後恢復。

如果您不在意丟失消息,您只需要刪除相關隊列的exchange - >隊列綁定。這將阻止消息被路由到隊列。

如果您需要「繼續」接收您離開的消息,則不能這樣做。當消息最初發布時,隊列或者接收消息或者不接收消息。例如,您發佈消息1,2,3,4和5.消息3發佈後,您「停止」路由到隊列。稍後,您想要重新啓動路由並在同一隊列中接收消息4和5 ......這是不可能的。

如果您需要「簡歷」選項,您最好的選擇是停止您的消費者並讓消息在隊列中收集。當您需要再次開始處理消息時重新啓動您的消費者。

相關問題