nodejs 和 rabbitmq 应用程序,我是否绕过 rabbit connect
nodejs and rabbitmq app , do i pass around the rabbit connect
我正在创建一个新的 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(顶层)中创建此连接并将此连接传递给每个请求的外部模块,或者我应该创建一个新连接并提交并等待每个请求?
感谢任何建议
RabbitMQ 团队监控 this mailing list 并且有时只在 Whosebug 上回答问题。
是的,您应该共享此连接。为每个请求打开一个新连接会浪费资源和时间。
我正在创建一个新的 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(顶层)中创建此连接并将此连接传递给每个请求的外部模块,或者我应该创建一个新连接并提交并等待每个请求?
感谢任何建议
RabbitMQ 团队监控 this mailing list 并且有时只在 Whosebug 上回答问题。
是的,您应该共享此连接。为每个请求打开一个新连接会浪费资源和时间。