Максимальное количество лямбда-соединений Mongodb nodejs - PullRequest
0 голосов
/ 14 февраля 2019

У меня проблема с атласом 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;
};

У кого-нибудь была эта проблема раньше?

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...