2016-08-18 2 views
0

Я хотел бы использовать библиотеку node-amqp, чтобы создать несколько пользователей для RabbitMQ, но я не могу понять, относится ли параметр к счету на одного потребителя или нет. Я бы хотел, чтобы каждый потребитель имел свой собственный счет предварительной выборки, который не зависит от других потребителей.rabbitmq - количество prefetch для потребителя

Спасибо.

+1

FWIW - вы не должны использовать node-amqp. эта библиотека имеет ряд известных утечек памяти и ошибок, которые могут вызвать серьезные проблемы. команда RabbitMQ рекомендует вместо «amqplib» (aka amqp.node): https://github.com/squaremo/amqp.node –

ответ

2

Может быть для одного потребителя, но может быть установлен для нескольких потребителей одновременно. Просто найдите название Пример - один потребительhere. Поэтому AMQP поддерживает его. Я не уверен в библиотеке, о которой вы упоминали, но в официальном java lib это так - прозрачно в отношении метода basic.qos AMQP. Кроме того, из вышеуказанной ссылки

Обратите внимание, что значение по умолчанию для глобального флага является ложным в большинстве интерфейсов

и RabbitMQ, когда глобальный == ложного

prefetch_count применяется отдельно каждому новому потребителю на канале

, так что вам нужно будет выяснить, как он реализован в этом librabry.

Дополнительно следует использовать библиотеку amqp.node, так как этот используется для учебных пособий по rabbimtq. (EDIT Я только сейчас вижу, что Дерик Бейли уже упомянул об этом.)

+1

Я считаю, что значение по умолчанию для rabbitmq не должно быть глобальным, поэтому предварительная выборка будет установлена ​​на канал. из-за этого вы должны ограничить своих потребителей одной очередью на канал при использовании этого параметра –

+0

Да, это то, что я также понял из документов. И я также согласен - 1 канал, 1 потребитель, 1 очередь. Я не наткнулся на случай использования, где в противном случае было бы еще лучше, и в любом случае это имеет смысл. – cantSleepNow

Смежные вопросы