[英]RabbitMQ + Node.JS Connection issue, frame size too large?
我一直在使用apache + php来玩RabbitMQ,并想看看它与Node.JS相比在性能上如何。
使用最新的node.js(0.4.12)和amqp模块(npm install amqp),我得到了一个未知的异常连接,这似乎是导致错误的帧大小(amqp.js中的第181行),从中删除了错误该代码只是引发了另一个与分配太大的数组大小有关的问题。
RabbitMQ服务器只是具有默认配置的“ 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服务器太旧了。 我在Debian机器上遇到了完全相同的问题, RabbitMQ安装指南为我指明了正确的方向。
卸载当前版本的rabbitmq-server,然后从RabbitMQ网站下载最新版本。
我今天才看到这个问题。 在我看来,rabbitmq和amqp的版本不匹配。 我正在测试两个版本的node-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回滚到旧版本,然后查看它是否有效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.