Балансировка нагрузки на основе сеансов с помощью nginx и nodejs?

294
digory doo

Насколько я понимаю, распределение нагрузки с помощью nginx обычно основано на запросах, то есть каждый запрос перенаправляется куда-то по-разному, будь то на удаленные машины или экземпляры локальной службы. Однако мне нужно настроить его так, чтобы он основывался на сеансах: nginx должен порождать новый (локальный) процесс nodejs для каждого клиента, с которым он разговаривает, т.е. по одному на сеанс. Для отдельного сеанса каждый запрос должен быть перенаправлен этому процессу. Процесс должен быть завершен, когда сессия закрыта или когда истекло время ожидания.

Причина, по которой я хочу это сделать, заключается в том, что nodejs должен связываться с базой данных, и, вероятно, он будет слишком неэффективным, если ему придется подключаться и отключаться для каждого запроса. Вместо этого он должен подключаться к базе данных один раз за сеанс. Когда сеанс закрыт, nodejs должен быть завершен изящно, чтобы у него была возможность правильно закрыть соединение с БД.

Как я могу это сделать? Если это невозможно, как я могу избежать подключения к базе данных при каждом запросе?

1

0 ответов на вопрос

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