2017-02-26 121 views
0

我開始使用RabbitMQ來管理我的Hapi.js RESTful API請求。基本的流程是,一旦節點服務器接收到請求,處理程序就會將參數發送到隊列,並且工作人員將使用它,然後將結果發送回指向相應處理程序的另一個隊列。最後,處理程序將把結果回覆給客戶端。現在我有兩個選擇來設計框架。RabbitQM多個隊列或單個隊列?

1.爲每個消費者創建一個隊列。一旦隊列中充滿請求,消費者就會處理它。

2.所有消費者只有一個隊列。消費者將通過一些關鍵詞從隊列中抓取任務。

我認爲選項2的唯一原因是創建隊列時的內存成本。

有沒有人有經驗?我應該選哪個選項?

回答

0

這是來自社區的RabbitMQ一個答案:

這取決於你希望有多少隊列有,但單個隊列一直被認爲是一個反模式。 不要這樣做。

一致性哈希或另一散列算法可以用來爲N消費者映射到M隊列但 不是每個系統可以接受「mismapped」值時,無論是N或者M的變化。