2014-02-26 82 views
1

我在設想一個交換綁定到幾個隊列的配置。這些綁定中的每一個都是唯一的,因此針對特定的消息。但是,有些甚至大多數時候我希望傳入的消息隨機分佈在隊列中。我目前的想法是讓發佈者從選項中隨機選擇路由密鑰。但是,這要求發佈者對可用的綁定類型有一些瞭解。如果隨機選擇是在交易所進行的話,那將會更好。是否可以定義一個「隨機」rabbitmq隊列綁定?

是否可以指定一個路由密鑰,以便交換機將從可用的隊列綁定中進行隨機選擇?

謝謝

+0

我很好奇這是什麼用例? – robthewolf

+0

這個想法是提供一個用戶可以發佈SQL INSERT和UPDATE查詢的交換。交易所將在它後面有多個隊列,每個隊列都有一個附加消費者,用於對數據庫執行查詢。希望通過利用數據庫的線程來提高吞吐量。交換機和隊列之間的隨機綁定將允許傳入查詢均勻地分佈在隊列集合中。這反過來將平均分配數據庫線程中的查詢。這就是這個想法。 –

+1

如果問題是你可以在一個數據庫中有許多線程,並且你希望它們處理來自你的隊列的多個事件。爲什麼不讓所有數據庫線程連接到一個隊列?隊列將以循環方式將消息分發給每個線程中的消費者。 – robthewolf

回答

3

可以爲RabbitMQ定義自己的交換類型。因此,您可以建立一個完全符合您需求的交易所。 RabbitMQ Random Exchange似乎有你請求的行爲。但是,我沒有經驗。

+0

感謝您的指針。我會仔細研究一下,看看它是否能提供所需的效果。 –

相關問題