Является ли Node.js хорошим выбором для веб-приложения, которым пользуются тысячи людей, но где одни и те же данные доступны только некоторым из них? - PullRequest
2 голосов
/ 27 января 2012

Я пытаюсь решить, стоит ли тратить время на изучение Node.js для новой программы.Самым большим преимуществом AFAIU является то, что Node делает процесс доступа нескольких пользователей к одним и тем же данным более эффективным, чем использование Apache и PHP.

Программа предназначена для использования группами, причем все данные хранятся на нашем выделенном сервере.,При этом к одним и тем же данным будут обращаться не более чем все члены одной группы (до 20), но к самой базе данных может обращаться любой, кто использует программу (для забавы, скажем, до 1 миллиона).

Моя идея параллелизма в лучшем случае является базовой.Будет ли Node.js улучшать взаимодействие с группами (поскольку они обращаются к одним и тем же данным) или со всеми (поскольку они обращаются к одной и той же базе данных)?Или же такая установка даже использует преимущества Node?

Ответы [ 2 ]

2 голосов
/ 28 января 2012

Ответ "вероятно".

Похоже, вы должны играть с Node и изучать его сильные и слабые стороны. Node отличается высокой пропускной способностью сетевых сервисов в режиме реального времени, поэтому в любом веб-проекте почти всегда есть вариант использования Node. Для вашего проекта это может означать обработку веб-запросов сокетов / ajax, или, возможно, вы загрузите кластер узлов для обработки задач в качестве фоновой службы.

Как и все технологии, Node не решает всех проблем, и другие технологии (вероятно) будут выполнять определенные задачи быстрее. Речь идет об обучении, достаточном для того, чтобы знать, когда развертывать Node (и когда может рассмотреть другой инструмент).

В худшем случае вы узнаете больше о javascript; знания, которые вы можете повторно использовать на множестве устройств и в любом веб-браузере. В лучшем случае вы научитесь использовать отличный инструмент, который соответствует вашим потребностям.

Также: ваше понимание «нескольких пользователей, имеющих доступ к одним и тем же данным» неверно. Да, Node хорош для многих одновременных пользователей / подключений, но Node не заботится о том, к каким данным вы обращаетесь. Это будет обрабатываться вашей базой данных или уровнем кэширования.

1 голос
/ 28 января 2012

Исходя из вашего описания, вам действительно не нужен ни узел, ни какой-либо конкретный стек серверов, а только интеллектуальное кэширование данных. В узле нет ничего, что сделало бы это проще, чем php, ruby, .net и т. Д.

Преимущество, на которое вы ссылаетесь, вероятно, заключается в том, что узел может очень хорошо обрабатывать несколько одновременных запросов и может обрабатывать длинные запросы, которые хорошо ожидают ввода-вывода, поскольку узел не зависает при вводе-выводе (то есть сервер может продолжать обрабатывать другие запросы). ).

Если вы хотите выучить узел, ПОЙДИТЕ В ЭТО! Я работаю с этим лично, и мне это нравится, но это не волшебная палочка, и если вы уже вложили средства в стек серверов, вам, вероятно, лучше использовать это и тратить свое время на изучение эффективного кэширования.

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