RabbitMQ + Node.JS Проблема с соединением, слишком большой размер кадра? - PullRequest
2 голосов
/ 28 сентября 2011

Я поигрался с RabbitMQ с apache + php и хотел посмотреть, как он по сравнению с Node.JS по производительности.

Используя последний файл node.js (0.4.12) и модуль amqp (npm install amqp), я получаю неизвестное исключение, которое похоже на размер кадра, вызывающий ошибку (строка 181 в amqp.js)), удаление ошибки из кода просто приводит к другому, связанному с выделением слишком большого размера массива.

Сервер RabbitMQ - это просто «apt-get install rabbitmq-сервер» с конфигурацией по умолчанию.Это работает в 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, если это поможет.

Ответы [ 2 ]

1 голос
/ 04 мая 2013

Это определенно несовпадение версий между amqp и установленной версией RabbitMQ.Проблема, скорее всего, связана с тем, что rabbitmq-сервер слишком стар.У меня была точно такая же проблема на моем компьютере с Debian, и руководство по установке RabbitMQ указало мне правильное направление.

Удалите текущую версию rabbitmq-сервера и загрузите самую последнюю версию с веб-сайта RabbitMQ.

0 голосов
/ 04 ноября 2011

Я только что видел эту проблему сегодня. Мне показалось, что это несоответствие между версиями 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 до более старой версии и посмотреть, работает ли он.

...