使用RabbitMQ,我有兩種類型的使用者:FileConsumer將消息寫入文件,MailConsumer將消息寫入郵件。每種類型可能有多個消費者,例如三個運行MailConsumer和一個FileConsumer實例。如何發佈到具有工作隊列行爲的多個隊列?
我怎樣才能做到這一點:
- 每個發佈的消息應該只有一個FileConsumer實例和一個MailConsumer實例
- 發佈一條消息,應做一次,而不是一次對每個隊列進行處理(如果可能的話)
- 如果沒有連接消費者,消息應該排隊,直到消耗掉,不會掉線
我應該使用什麼類型的交換等來獲得牛逼他的行爲?我真的很想看到一些示例/僞代碼來說明這一點。
這應該是很容易做到的,但我不能從文檔看着辦吧。看起來fanout example應該可以工作,但我對這些「匿名隊列」感到困惑,這似乎會導致向每個消費者發送相同的消息。
好的,這很有幫助。但我需要更具體的如何設置發佈者和消費者,使其像問題一樣工作。 – 2014-10-30 12:28:14
用步驟編輯,以在圖表上得到。真正的代碼將取決於您使用的客戶端庫和平臺。 – pinepain 2014-10-30 13:05:23