看起来唯一用于通过 rabbitmq 编写 nodejs 应用程序的库是
https://github.com/postwait/node-amqp
我有一个生产者,它以非常快的速度将消息发布到多个队列,在消费者中,我正在为每个队列创建订阅。
connection.on('ready', function () {
for(var i=0;i<queues.length;i++)
connection.queue(queues[i],{autoDelete:false}, qOnReady);
});
function qOnReady(q){
// Catch all messages
logger("Q "+q.name+" is ready");
q.bind('#');
// Receive messages
q.subscribe(subscriber);
}
但是当我运行消费者时,所有使用的消息都来自特定队列,直到队列耗尽,订阅不会在另一个队列上启动。如何实现并行消费消息。
您可能希望使用异步库来实现队列的并行执行。
虽然不确定它是否符合您的需求。
https://github.com/caolan/async#paralleltasks-callback