MongoDB: Что такое организация пула подключений и тайм-аут?

Таким образом, мой Пассажир вращает 5 экземпляров моего приложения для направляющих

Я соединяюсь с MongoDB с помощью Connection.new ("localhost", 3000: pool_size => 1: тайм-аут => 5)

Почему мне был бы нужен "пул соединений", если я только подвергаюсь наверху при запуске моего приложения для направляющих, не на запрос? Почему сингл обработал бы потребность больше чем 1 соединение?

И какова цель тайм-аута? Почему я хотел бы соединение с тайм-аутом? Не был должен это быть сохраниться в течение времени жизни процесса направляющих?

Так перепутанный...

Этот вопрос характерен для Ruby и монго, но я предполагаю, что это относится к другим языкам/базам данных.

7
задан Community 22 September 2017 в 17:57
поделиться

1 ответ

Вам не нужно использовать пул соединений здесь. Поскольку вы используете Passenger, просто убедитесь, что каждый экземпляр использует отдельное соединение, перехватывая событие start_worker_process. Это задокументировано в драйвере README.

Пул соединений может быть полезен для некоторых многопоточных приложений. pool_size - это максимальное количество параллельных потоков, которые будет обрабатывать соединение, а тайм-аут - это максимальное количество секунд, в течение которых поток может ждать доступного сокета, прежде чем будет создано исключение.

3
ответ дан 7 December 2019 в 16:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: