Здравствуйте! Хочу задать некоторые уточняющие вопросы касательно NodeJS, которые как мне кажется слабо описаны на ресурсах которые я изучал.
Во многих источниках говорится о том, что NodeJS не подходит для сложных вычислений, ведь он однопоточный и запросы выполняются последовательно
Я создал простейший сервер на Node и написал ендпоинт, который выполняет запрос примерно 10 секунд (цикл). Далее я произвел 10 последовательных запросов через Postman, и действительно, каждый следущий запрос начинал выполнение только после того как предыдущий отдал ответ.
- Правильно ли я понимаю что в таком случае, если время выполнение одного эндпоинта будет примерно 300мс, и к серверу одновременно обратятся 700 пользователей, то для последнего пользователя время ожидание составит критические 210 000мс ?
- Так же я слышал, что плюсом NodeJS является возможность поддержки большого количества одновременных соединений, что тогда это означает и почему является плюсом, если ответ для последнего человека из прошлого вопроса все равно будет очень долгим
- Еще одно утверждение с которым я столкнулся, это то что libuv позволяет делать много операций ввода-вывода одновременно, как это работает если NodeJS все равно обрабатывает запросы последовательно ?
Большое спасибо!