2016-08-18 10 views
0

node-amqpライブラリを使用してRabbitMQの複数のコンシューマを作成したいと考えていますが、prefetch-countオプションがコンシューマごとのカウントを参照するかどうかはわかりません。私は各消費者に、他の消費者に依存しない独自のプリフェッチ数を持たせたいと思います。rabbitmq - コンシューマあたりのプリフェッチ数

ありがとうございました。

+1

FWIW - node-amqpは使用しないでください。そのライブラリには深刻な問題を引き起こす多くの既知のメモリリークとバグがあります。 RabbitMQチームは代わりに "amqplib"(別名amqp.node)を勧めます:https://github.com/squaremo/amqp.node –

答えて

2

単一のコンシューマにすることはできますが、複数のコンシューマに同時に設定することはできます。タイトルを探してください例 - 単一の消費者here AMQPはそれをサポートしています。あなたが言及しているライブラリについてはわかりませんが、公式java libではAMQPのbasic.qosメソッドに対して透過的です。 == falseを

prefetch_countが別々に適用されたときにグローバルグローバルフラグのデフォルト値は

とRabbitMQのためのほとんどのAPIで偽であることを は、上記のリンクから

注意チャンネル上の新しい消費者の皆様へ

そのlibrabryに実装されています。

さらに、amqp.nodeライブラリを使用することを検討してください。これは、rabbimtqチュートリアルで使用されているためです。 (EDIT Derick Baileyが既に言及していることがわかりました)

+1

私はrabbitmqのデフォルトがグローバルではないと思うので、チャンネルごとにプリフェッチが設定されます。このため、この設定を使用する場合は、コンシューマをチャネルごとに1つのキューに制限する必要があります。 –

+0

はい、それは私がドキュメントから理解したものです。また、私は同意する - 1チャンネル、1消費者、1キュー。私は、そうでなければまだ良くなるユースケースにつまずくことはありませんでした。 – cantSleepNow

関連する問題