В настоящее время я рассматриваю приложение NodeJS, где я хочу использовать socket.io для связи между несколькими клиентами.Архитектура для задач с интенсивным процессором с NodeJS & Socket.io
Приложение будет состоять из сотен клиентов, все из которых имеют местоположение на карте карт google. Я хочу, чтобы сервер обрабатывал для каждого клиента, клиенты которого находятся в радиусе 200 метров друг от друга. Если бы я сделал все это в javascript внутри nodeJS, это поставило бы огромную нагрузку на сервер, и я боюсь, что это заставит сервер приостановить все другие задачи при обработке этой огромной задачи, что приведет к тому, что все коммуникации будут остановлен, когда сервер выполняет интенсивные задачи cpu.
Вопрос в том, как можно использовать NodeJS с Socket.io исключительно для связи между клиентами и переместить более интенсивные задачи с ЦП в другое место, чтобы связь между клиентами не была остановлена, когда сервер выполняет интенсивные задачи с процессором?
Спасибо заранее и извините мой английский!
Брэм
Я чувствую, что этот вопрос может быть немного широк для полезного ответа. Возможно, если вы соберете тест в узле, вы сможете оценить и оценить свои проблемы в многозадачности и задать более конкретные вопросы о вашем подходе? – seanhodges
Возможно, стоит обратить внимание на оптимизированные структуры данных, которые сделают запрос, который вы хотите выполнять с меньшим потреблением ЦП (для геопространственных поисков, [R-Tree] (http://en.wikipedia.org/wiki/ R-дерево) довольно распространены и довольно быстро). – robertklep