многоузловой веб-сервер nodeJS - PullRequest
0 голосов
/ 17 июня 2011

Мне нужно создать многоузловой веб-сервер, который позволит в реальном времени контролировать количество узлов и изменять UID и GUID процесса.

Например, при запуске сервер запускает 5 рабочих и помещает их в рабочий пул. Когда сервер получает новый запрос, он ищет свободных работников, при необходимости устанавливает UID или GUID и дает ему запрос на обработку. Если свободных рабочих нет, сервер создаст нового, установит GUID или UID, также поместит его в пул и т. Д.

Можете ли вы предложить мне, как это можно реализовать?
Я попробовал этот пример http://nodejs.ru/385, но он не позволяет контролировать количество работников, поэтому я решил, что должно быть другое решение, но я не могу его найти.

Если у вас есть примеры или ссылки, которые помогут мне решить эту проблему, напишите мне, пожалуйста.

Ответы [ 3 ]

1 голос
/ 17 июня 2011

Я думаю, вы ищете это: http://learnboost.github.com/cluster/

0 голосов
/ 18 июня 2011

https://github.com/pgte/fugue Я использую это.

0 голосов
/ 17 июня 2011

Я не думаю, что кластер сделает это за вас.Вы хотите использовать один процесс для каждого запроса.Имейте в виду, что это может быть очень неэффективно, и узел предназначен для работы с этими типами рабочей обработки, но если вы действительно должны это сделать, то вы должны это сделать.

С другой стороны, узелотлично справляется с обработкой процессов, поэтому вам нужно поддерживать пул процессов, что легко достигается с помощью внутреннего API child_process.spawn узла.

Кроме того, вам потребуется способ связи с рабочим процессом.Я предлагаю открыть сокет домена unix и отправить дескриптор файла подключения клиента, чтобы вы могли делегировать это подключение новому рабочему.

Кроме того, вам потребуется обрабатывать крайние случаи для тайм-аутов и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...