我想用node-amqp庫爲RabbitMQ創建多個消費者,但我不明白prefetch-count
選項是否指的是每個消費者的計數。我希望每個消費者都有自己的預取計數,而不依賴於其他消費者。rabbitmq - 每個消費者的預取計數
謝謝。
我想用node-amqp庫爲RabbitMQ創建多個消費者,但我不明白prefetch-count
選項是否指的是每個消費者的計數。我希望每個消費者都有自己的預取計數,而不依賴於其他消費者。rabbitmq - 每個消費者的預取計數
謝謝。
可以是單個消費者,但可以同時爲多個消費者設置。只需查找標題示例 - 單個消費者here。所以AMQP支持它。我不確定你提到的庫,但是在官方的java lib中就是這樣 - 對AMQP的basic.qos方法透明。 還從上述鏈接
注意,對於全局標誌的默認值是在大多數API
和RabbitMQ的假,當全球==假
prefetch_count分別適用通道上的每個新消費者
因此您需要了解它在該libabry中實現。
另外考慮使用amqp.node庫,因爲這個庫在rabbimtq教程中使用。 (EDIT我現在纔看到Derick Bailey已經提到過了。)
我認爲rabbitmq的默認值不是全局的,所以預取將按每個通道設置。因此,當使用此設置時,您應該將每個渠道的消費者限制爲單個隊列 –
是的,這也是我從文檔中理解的。我也同意 - 1個頻道,1個消費者,1個隊列。我沒有偶然發現一個用例,否則它會更好,而且無論如何它都是最有意義的。 – cantSleepNow
FWIW - 你不應該使用node-amqp。該庫有一些已知的內存泄漏和錯誤會導致嚴重的問題。 RabbitMQ團隊建議使用「amqplib」(又名amqp.node):https://github.com/squaremo/amqp.node –