я должен служить расчет с помощью алгоритма, я посоветовал использовать дочерний процесс на каждую открытой розетку, что я собираюсь сделать что-то вроде этого:Каков предел нереста child_processes?
var spawn = require('child_process').spawn;
var child = spawn('node', ['algorithem.js']);
Я знаю, как отправить аргумент к процессу алгоритма и как получать результаты.
Что меня беспокоит, сколько гнезд (каждый сокет будет порождать процесс) У меня может быть? Как я могу решить эту проблему с помощью моего провайдера облачных услуг? так что мое приложение автоматически масштабируется?
Какой рекомендуемый узел провайдера облачного хостинга?
И, наконец, это хороший подход к использованию дочерних процессов?
На самом деле, я использую сервер узла только для вычисления этого алгоритма, но что вы подразумеваете под «Этот сервер может порождать N рабочих потоков»? не каждый процесс порождения является потоком сам по себе? или мне нужно создавать потоки самим собой? можете ли вы написать простой пример, чтобы сделать его более понятным? спасибо – simo
К сожалению, я имел в виду другой серверный процесс. Каждый порожденный процесс представляет собой отдельный процесс, но spawn() использует всплывающий системный вызов для обеспечения связи. Узел однопоточный, поэтому он не может создавать нормальные потоки. Мотивация моего примера состояла в том, чтобы обеспечить альтернативный подход, в котором вы могли бы уменьшить количество открытых сокетов. –
Не могли бы вы объяснить, как уменьшить количество открытых сокетов? может ли один сокет обслуживать более одного соединения? – simo