0

我正在创建一个新的nodejs服务,它将接收来自前端的请求,将该请求放在rabbitmq上,然后等待来自处理该请求的微服务的响应,然后将响应发送回我从请求返回的前端兔子。

我的问题是当我创建到 rabbitmq 的连接时,比如

amqp.connect(process.env.CLOUDAMQP_URL + "?heartbeat=60",
 function(err, conn) {
     if (err) {
       console.error("[AMQP]", err.message);
       return setTimeout(start, 1000);
     }
     conn.on("error", function(err) {
       if (err.message !== "Connection closing") {
         console.error("[AMQP] conn error", err.message);
       }
     });
     conn.on("close", function() {
       console.error("[AMQP] reconnecting");
       return setTimeout(start, 1000);
     });
     console.log("[AMQP] connected");
     amqpConn = conn;
     whenConnected();   });

最好在 app.js (顶层)中创建此连接并将此连接向下传递到每个请求的外部模块,还是我应该创建一个新连接并提交并等待每个请求?

感谢您的任何建议

4

1 回答 1

0

RabbitMQ 团队会监控这个邮件列表,有时只会在 StackOverflow 上回答问题。


是的,您应该共享此连接。为每个请求打开一个新连接会浪费资源和时间。

于 2018-03-12T13:56:42.263 回答