我正在创建一个新的nodejs服务,它将从前端接收请求,将该请求放在rabbitmq上,然后等待处理该请求的微服务的响应,然后将响应发送回我从rabbit返回的请求前端。
我的问题是,当我创建到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(顶层)中创建这个连接,并将这个连接传递给每个请求的外部模块,还是我应该创建一个新的连接,然后提交并等待每个请求?
感谢任何建议
1条答案
按热度按时间o2g1uqev1#
是的,你应该分享这种联系。为每个请求打开一个新的连接将浪费资源和时间。