node.js服务器与apache tomcat服务器(应用服务器)有何不同?

时间:2019-03-13 11:55:32

标签: node.js multithreading apache tomcat

当我们点击应用服务器(Apache tomcat)时,它创建一个线程来处理我们的请求并与tomcat连接,建立连接,tomcat创建另一个线程来处理请求并将其传递给连接,连接线程将其传递给客户端

但是我们的nodejs有事件循环(每次完成时都在任务上)。当请求到达nodejs服务器时,事件循环从侦听器队列中选择请求,并将任务委托给在后台运行的工作线程。 现在,事件循环可以自由选择其他请求,当工作线程完成处理后,它可以将数据发送回去进行调用,并且如果在主堆栈中无事可做,则事件循环可以从回调队列中进行回叫。

我想消除对应用服务器和节点服务器的怀疑

应用服务器:服务器创建的用于连接tomcat的线程负责为该特定请求将数据传递给客户端?我说的对吗?

但是,nodejs如何知道它需要向哪个请求传递响应?它如何维护每个请求的连接? 我对请求处理的理解适合两种服务器吗?

1 个答案:

答案 0 :(得分:1)

node.js服务器是您的节点程序运行的地方,因为apache / nginx只是一个反向代理服务器。反向代理服务器通常与node.js服务器一起使用。