RabbitMQ + Node.JS连接问题,帧大小太大?

我一直在玩apache + php的RabbitMQ,想看看它和Node.JS的性能比较。

使用最新的node.js(0.4.12)和amqp模块(npm install amqp),我得到一个未知的exception连接,看起来像是导致错误的帧大小(amqp.js中的第181行),将错误从代码只是抛出另一个相关的分配太大的数组大小。

RabbitMQ服务器只是默认configuration的“apt-get install rabbitmq-server”。 这在PHP中工作就好了。

Starting ... AMQP URL: amqp://localhost events.js:47 throw new Error("Uncaught, unspecified 'error' event."); ^ Error: Uncaught, unspecified 'error' event. at Connection.emit (events.js:47:15) at AMQPParser.onError (/nodeJS_stuff/node_modules/amqp/amqp.js:839:12) at AMQPParser.throwError (/nodeJS_stuff/node_modules/amqp/amqp.js:145:25) at AMQPParser.execute (/nodeJS_stuff/node_modules/amqp/amqp.js:181:18) at Connection.<anonymous> (/nodeJS_stuff/node_modules/amqp/amqp.js:851:12) at Connection.emit (events.js:64:17) at Connection._onReadable (net.js:672:14) at IOWatcher.onReadable [as callback] (net.js:177:10) 

有没有遇到过这个? 我试了几个例子,我总是得到这个。 我也在EC2上运行,如果这有帮助的话。

这肯定是amqp和RabbitMQ的安装版本之间的版本不匹配。 这个问题很可能是由于rabbitmq-server太旧了。 我在Debian机器上遇到了同样的问题, RabbitMQ安装指南指出了正确的方向。

卸载当前版本的rabbitmq-server并从RabbitMQ网站下载最新版本。

我今天才看到这个问题。 在我看来,似乎rabbitmq和amqp的版本不匹配。 我正在testingnode-amqp(0.0.2和0.1.0)和rabbitmq(1.7.2和2.3.1)的两个版本。 我发现node-amqp 0.0.2与两个版本的rabbitmq一起工作,但是较新的node-amqp(0.1.0,实际上是版本0.0.6)不适用于较老的rabbitmq。 所以请尝试回滚你的node-amqp到一个旧版本,看看它是否工作。