Вы также можете использовать докер. Вы можете создать несколько док-контейнеров, которые будут запускать ваш сервер узла. Теперь на уровне nginx на вашем хост-компьютере вы можете выполнить конфигурацию балансировки нагрузки, которая будет направлять трафик в равной степени к различным контейнерам док-узлов, это повысит вашу доступность и масштабируемость. В случае интенсивного трафика вам просто нужно увеличить количество контейнеров док-узлов по мере и когда требуется. Я предполагаю, что первоначально 2 контейнера будет достаточно для обработки трафика (хотя зависит от вашего варианта использования).
Примечание: - Вы также можете использовать forever
или supervisor
в соответствии с предложением @Rajesh Gupta внутри ваших док-контейнеров для запуска сервера узлов. Мы используем PM2 для этого.
Если у вас есть база данных, вы можете создать отдельный контейнер докера для базы данных и сопоставить его с томом на хост-компьютере.
О докере можно узнать из здесь .
Также вы можете прочитать о балансировке нагрузки в nginx из здесь .
Более того, для повышения доступности вы можете добавить слой кэширования между контейнерами nginx и docker. Varnish - лучший сервис кеширования, которым я пользовался до настоящего времени.
PS: - Мы используем аналогичную, но более продвинутую архитектуру для запуска нашего приложения электронной коммерции, которое ежедневно генерирует 5-10 тыс. Заказов. Так что это проверенный подход с нулевым временем простоя.