2016-07-14 61 views
0

有關數據的架構的一個問題在RabbitMQ的RabbitMQ的兌換點訂購

流動

是否有可能從不同的隊列,一個兌換點收集消息? 後來消費者訂閱這一點?

我爲服務發送消息,我希望能夠爲每個交付過程創建一個隊列。並管理這個Q.但消費者需要訂閱所有這些Q

想法收集所有隊列在一個點,並從這一點拿起消息 但如何實現它?

回答

0

在RabbitMQ中,通常應該將消息發佈到「交換」並從「隊列」消耗。交換和隊列之間有綁定。就您而言,自然而然,您可以爲每個發件人創建交換,並將這些交換全部綁定到一個隊列中進行消費。

+0

在你的變體中不可能詢問系統有關處理消息的數量。 但我作出跟隨解決方案: 一個主要隊列 –

+0

在你的變種是不可能問系統有關處理消息的數量。 但我做了以下解決方案: 一個主隊列和每個交付/發送者的很多隊列(附加Q)。工作人員僅在主Q上訂閱,但主Q中的消息包含名稱爲附加Q的字段。 因此,工作人員從主要和附加Q獲取消息。隨時可以詢問rabbitMQ有關addQ中消息數量的信息。或者我可以刪除此Q並停止交付過程。 也許這是奇怪的建築,但它滿足我的需求 –

+0

好吧,我幾乎明白你的觀點。所以你說你想要,例如,有3個發件人和3個發件人隊列(每個發件人一個);您希望將發件人隊列中的郵件收集到收集隊列中;您的訂閱者只訂閱收集隊列,對吧?有一個問題,你想收集過程是自動的嗎?如果它是自動的,只要任何消息發送到發件人隊列,它就會從發件人隊列中移除並收集到收集隊列,然後如果嘗試獲取發件人隊列中的消息數量,它將始終爲0 –