Я читал о проблеме C10K, и особое внимание уделено той части, которая относится к асинхронному серверу ввода-вывода. http://www.kegel.com/c10k.html#aio
Я полагаю, что это в значительной степени суммирует то, что Node.js делает на сервере, позволяя потокам обрабатывать запросы пользователей, полагаясь на прерывания (события) ввода-вывода, чтобы уведомлять потоки о выполненных заданиях, вместо того, чтобы поток отвечал за полная загрузка процессора. Поток может заниматься другими делами (неблокирующими) и получать уведомления о том, когда работа выполнена (например, найден файл или сжато видео).
Впоследствии это означает, что поток более «доступен» для сокетов и, следовательно, для пользователей на сервере.
Тогда я нашел это: http://teddziuba.com/2011/10/straight-talk-on-event-loops.html
Автор здесь утверждает, что хотя управляемая событиями структура (прерванная многопоточность) может освободить потоки, она фактически не уменьшает объем работы, которую должен выполнять процессор! Обоснование здесь заключается в том, что если, скажем, пользователь запрашивает сжатие загруженного видео, ЦП все равно должен фактически выполнить эту работу и будет блокировать, пока это делает (для простоты, давайте забудем о параллелизме здесь - если вы не знаю лучше!).
Я простой программист, а не администратор сервера или что-то в этом роде. Мне просто интересно узнать: является ли Node.js даром богов «облачных вычислений» или это все горячая тема, и не будет ли экономить время и / или деньги компаний за счет улучшения масштабируемости?
Большое спасибо.