Используйте один пул соединений для кластера против нескольких пулов соединений для каждого дочернего процесса в mongodb-native NodeJS

Я реализую сервер nodejs, который использует mongodb в качестве базы данных и собственную библиотеку mongodb для ее подключения.

Кроме того, я использую кластеризацию для повышения производительности сервера. Таким образом, есть два возможных способа использования пула соединений mongodb-native driver;

  1. Создайте единый пул соединений и передайте его каждому дочернему процессу при их создании (шаблон singleton)
  2. После создания дочернего процесса создает внутренний пул соединений

Итак, мой вопрос: какие из двух методов лучше? Или есть другой хороший способ сделать это?


person gihanchanuka    schedule 06.05.2014    source источник


Ответы (1)


Это зависит от целей вашего приложения. Помните, что создание нового пула намного дороже, чем повторное использование того же пула. Обычно я бы использовал вариант 1, но повторюсь, это зависит от вашего приложения. Если все дочерние процессы интенсивно используют операции с БД, возможно, лучше использовать вариант 2.

person MQ87    schedule 06.12.2014