Как node.js обрабатывает тысячи запросов одновременно?Должен ли другой клиент ждать? - PullRequest
0 голосов
/ 10 мая 2019

Как node.js обрабатывает тысячи запросов, когда сервер занят обработкой больших операций для каждого запроса? Нужно ли другим клиентам ждать, пока сервер завершит работу по запросу?

const express = require('express');
const app = express();

app.get('/small', (req, res, next) => {
  res.send('posts');
});

app.get('/big', (req, res, next) => {
  console.time('test');
  for (let i = 0; i < 100000; i++) {
    console.log(i);
  }
  res.send('comments');
  console.timeEnd('test');
});

app.listen(5555, '127.0.0.1', undefined, () => {
  console.log(`Listening to port 5555`);
});

1 Ответ

0 голосов
/ 10 мая 2019

NodeJs работает асинхронно с однопоточным многопользовательским режимом в фоновом режиме.В приложениях Node JS используется архитектура модели однопотокового цикла событий для обработки нескольких одновременных клиентов.Таким образом, клиенту не нужно ждать завершения предыдущего запроса.

Используется обратный вызов вместо обычного возврата.Вы можете прочитать Async, ожидайте более подробной информации.для лучшего понимания вы можете посмотреть это видео.https://www.youtube.com/watch?v=KsjrN-T3ZCs

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