Узел JS Несколько экземпляров сервера, по одному на каждое ядро? - PullRequest
0 голосов
/ 12 октября 2018

Так что поправьте меня, если какая-то часть этого неправильна, но это мое понимание и надежда.Насколько я знаю, экземпляр Node будет работать на 1 ядре процессора.Таким образом, у меня есть API и пользовательский интерфейс, оба на 100% не сохраняющие состояния, поэтому у меня была идея использовать PM2 для запуска 10 или 20 процессов на моем сервере (84 основных сервера).Каждый процесс запускает копию API, а затем создает приложение для небольшого узла, которое будет пересылать трафик между каждым экземпляром.

Теоретически это должно позволить мне достаточно хорошо масштабировать мое приложение, я неправильно об этом думаю?Можно ли настроить Node Js таким образом?Я правильно об этом думаю?

1 Ответ

0 голосов
/ 12 октября 2018

Да, вы можете

Один экземпляр процесса узла занимает одно ядро.Так что, если у вас 2 ядра, в идеале вы должны запустить 2 pm2 clusters.Как вы сказали, у вас 84 ядра, и вы можете легко запустить 20 процессов, используя следующую команду.

pm2 start -i 20 app.js

Таким образом, ваше приложение может горизонтально масштабироваться.Однако, если у вас есть несколько машин, где вы хотите иметь одинаковую настройку.Для балансировки нагрузки вам потребуется nginx.

...