Я бы посчитал это скорее вопросом инфраструктуры, чем вопросом nodejs.Как следует из названия Nodejs, особенно для более крупных приложений в стиле saas одноузловое приложение является однопоточным узлом, который может быть частью большого кластера узлов.
Итак, основываясь на этом.Я бы рекомендовал вместо подключения одного узла к нескольким разным базам данных запускать один экземпляр приложения узла для каждой базы данных, к которой вы хотите подключиться.
Существует множество способов достичь этого.Тем не менее, я думаю, что самый простой способ заключается в контейнеризации вашего приложения и использовании переменных среды для установки соединений с базой данных.Когда у вас есть контейнеры, вам нужен способ установить переменные и запустить разные контейнеры.И, наконец, вам нужно будет направить к правильному контейнеру.
Итак:
- Контейнерное приложение узла с Docker
- Развертывание с Kubernetes
- Маршрутизация к правильному контейнеру
С помощью этого метода вы можете раскрутить один или несколько контейнеров для каждого отдельного клиента и масштабировать (еслиреализованы правильно) контейнеры в зависимости от количества ресурсов, которые они используют.
Надеюсь, это поможет вам начать работу.Скорее всего, это много новой информации для изучения.