У меня проблема с атласом MongoDB.Я использую Atlas версии 3.4, экземпляр M20.Средой, в которой я работаю, является архитектура AWS Lambda с несколькими сервисами, запрашивающими базу данных.По какой-то причине база данных достигает своих максимальных соединений (700 соединений) через несколько минут, а затем падает.
В настоящее время я использую этот набор параметров для запуска БД:
У меня естьпопробовал некоторые решения, которые я нашел в Интернете - используя
context.callbackWaitsForEmptyEventLoop = false;
и установив базу данных как одноэлементную, используя dbpools, но все еще не могу поддерживать низкое количество соединений.
const mongo = require('mongodb').MongoClient;
const log = require('./logger');
let cachedDbs = {};
module.exports.get = async uri => {
let cachedDb = cachedDbs[uri];
if (cachedDb && cachedDb.serverConfig.isConnected()) {
return cachedDb;
}
log.info('Getting db connection to', uri);
const client = await mongo.connect(uri, {
useNewUrlParser: true,
appname: process.env.SERVICE_NAME,
reconnectTries: 5,
poolSize: 5,
maxIdleTimeMS: 1000,
socketTimeoutMS: 1000,
waitQueueTimeoutMS: 1000
});
cachedDb = await client.db();
cachedDbs[uri] = cachedDb;
return cachedDb;
};
У кого-нибудь была эта проблема раньше?
Заранее спасибо