Когда мы включаем сервер приложений (apache tomcat), он создает поток для обработки нашего запроса и соединения с tomcat, создает соединение, а tomcat создает другой поток для обработки запроса и доставки его в соединение, а поток соединения доставляет его клиенту. .
Но у нас в nodejs есть цикл обработки событий (при выполнении задачи до момента завершения). Когда запрос поступает на сервер nodejs, цикл обработки событий выбирает запрос из очереди прослушивателя и делегирует задачу рабочим потокам, работающим в фоновом режиме.
теперь цикл обработки событий может свободно выбирать другие запросы, когда рабочий поток завершил обработку, он отправляет данные для обратного вызова, и цикл обработки событий выбирает обратный вызов из очереди обратного вызова, если в главном стеке больше нечего делать.
Я хочу снять мои сомнения относительно сервера приложений и сервера узлов
Сервер приложений: поток, созданный сервером для подключения tomcat, отвечает за доставку данных клиенту для этого конкретного запроса? Я прав?
Но как nodejs знает, на какой запрос ему нужно доставить ответ? Как он поддерживает соединение для каждого запроса?
Я правильно понимаю обработку запросов для обоих типов серверов?