Javascript-форум (https://javascript.ru/forum/)
-   Node.JS (https://javascript.ru/forum/node-js-io-js/)
-   -   Объясните на пальцах о процессах и кластерах Node.js (https://javascript.ru/forum/node-js-io-js/75204-obyasnite-na-palcakh-o-processakh-i-klasterakh-node-js.html)

razorg1991 12.09.2018 18:06

Объясните на пальцах о процессах и кластерах Node.js
 
Не до конца понимаю как запускаются приложения на Node.

Если скажем запустить app1.js и app2.js к примеру через какой-нибудь process manager (pm2 или strongloop PM) ну или просто в консоли node app1.js и node app2.js что получается? Это будут создаваться 2 отдельных процесса ноды в ОС, где один процесс работает с app1, а второй процесс с app2? Или же это процессы app1 и app2 внутри самой ноды?

И по кластеризации к примеру в тех же самых pm2 или strongloop PM, в документации написано что типа на каждое ядро вешается по одному процессу ноды в ОС. Т.е. я не могу понять что же такое процесс и что такое кластер? Это все на уровне ОС размножается или же что-то на уровне ноды?

Можете как-то разъяснить?

SuperZen 12.09.2018 21:11

хелло от бивиса и батхеда )

https://nodejs.org/api/cluster.html

A single instance of Node.js runs in a single thread. To take advantage of multi-core systems, the user will sometimes want to launch a cluster of Node.js processes to handle the load.
и т.д. и т.п.

razorg1991 12.09.2018 21:40

Цитата:

Сообщение от SuperZen
хелло от бивиса и батхеда )

Не понял о чем это Вы

Вот почему у большинства мания в документацию тыкать, причем которая только косвенно относится к вопросу, аж бесит уже серьезно.
Вы когда к врачу приходите на прием, Вам плохо очень, нос заложило, температура, на ногах еле держитесь, просите помощи,а он вам ссылку дает на медицинскую энциклопедию, и говорит такой "там по своим симптомам диагноз выберите, а лечение там прописано" классно бы было?
Зачем мне модуль кластер? Я process manager'ы хочу использовать. Или Вы так тонко намекаете, что в менеджерах таже самое? Нет я понимаю, что и модуль кластер и манагеры работают по принципу родительский процесс создаёт дочерние.

Короче спрашиваю совсем тупо, если через pm запустить 2 штуки app1 и 1 штуку app2, в диспетчера задач ОС будет висеть 3 процесса node.js или один?

SuperZen 12.09.2018 22:03

ну как тут ответить, можно сделать два, можно сделать один, )

razorg1991 12.09.2018 22:31

Хорошо, что Вы врачом не стали, а в программисты пошли:D

jtag 15.09.2018 15:53

ну вы запустите экземпляры скрипта ноды и посмотрите в системе какие у вас процессы добавились, а кластер - объединение нескольких однородных элементов, которое может рассматриваться как самостоятельная единица. Если к примеру рассматривать модуль cluster, то он создает дочерние процессы в ос (cluster.fork()), fork() — системный вызов, создающий новый процесс (потомок).

MallSerg 15.09.2018 16:29

мне хватило знаний и опыта запустить диспетчер задач и выполнить три команды в консоли и вот он ответ =).


Часовой пояс GMT +3, время: 04:05.