2011-09-27 3 views
2

나는 RachebitMQ를 가지고 apache + php로 놀아 왔고 Node.JS와 성능면에서 비교해보기를 원했다.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에서도 이것을 실행하고있다.

답변

0

저는이 문제를 오늘 보았습니다. rabbitmq와 amqp의 버전이 일치하지 않는 것 같았습니다. 나는 node-amqp (0.0.2와 0.1.0)와 rabbitmq (1.7.2와 2.3.1)의 두 가지 버전을 테스트했다. 나는 node-amqp 0.0.2가 두 버전의 rabbitmq에서 작동하지만 새로운 노드 -amqp (0.1.0, 실제로는 버전 0.0.6)가 이전 rabbitmq에서 작동하지 않는다는 것을 알았습니다. 따라서 node-amqp를 이전 버전으로 롤백하고 작동하는지 확인하십시오.

1

확실히 amqp와 설치된 RabbitMQ 사이의 버전이 일치하지 않습니다. 문제는 아마도 rabbitmq-server가 너무 오래 되었기 때문일 수 있습니다. 데비안 컴퓨터에서 똑같은 문제가 발생했고 RabbitMQ installation guide은 올바른 방향으로 나를 지적했습니다.

현재 rabbitmq-server 버전을 제거하고 RabbitMQ 웹 사이트에서 최신 버전을 다운로드하십시오.

+1

패키지 관리자는 이전 버전의 RabbitMQ를 포함하고 있으며 웹 사이트에서 직접 최신 버전을 다운로드하는 것이 가장 적합한 해결책입니다. – Niels