2017-02-26 4 views
0

私はHapi.js RESTful API要求を管理するためにRabbitMQを使い始めました。基本的な流れでは、ノード・サーバーが要求を受け取ると、ハンドラーはパラメーターをキューに送信し、ワーカーはそれを消費し、その結果を対応するハンドラーを指す別のキューに戻します。最後に、ハンドラは結果をクライアントに返信します。今私はフレームワークを設計する2つの選択肢があります。RabbitQM複数のキューまたは単一のキュー?

1.各コンシューマごとに1つのキューを作成します。キューに要求がいっぱいになると、コンシューマはその要求を処理します。

2.すべてのコンシューマに対して1つのキューしか持たない。消費者はいくつかのキーワードでタスクをキューから取得します。

私がオプション2と考える唯一の理由は、キューを作成するときのメモリコストです。

誰も経験がありますか?どのオプションを取るべきですか?

答えて

0

これはRabbitMQのコミュニティからの回答です:

それはあなたが持っていることを期待どのように多くのキューに依存するが、単一のキューが長いアンチパターンと考えられてきました。 しないでください。

N個のコンシューマをM個のキューにマップするために、一貫したハッシュアルゴリズムまたは別のハッシュアルゴリズムを使用できますが、 NまたはMのいずれかが変更されたときにすべてのシステムが「ミスマップ」値を受け入れるわけではありません。

関連する問題