Jac*_*ale 5 networking tcp node.js
我知道Node.js擅长保持大量的同时持久连接,例如,许多聊天室的聊天室.
我想知道它是如何实现这一目标的.我的意思是无论如何它是使用由底层操作系统封装的TCP/IP,为什么它可以很好地处理持久连接而其他人不能?
它有什么神奇之处?
Node.js使所有I/O异步.它只在单个线程中运行,但在等待I/O时会执行其他请求或操作.
相比之下,经典Web服务器在前一个请求完全完成之前不会提供另一个请求.出于这个原因,Apache同时运行多个进程; 假设有10个httpd进程,通常意味着可以在任何时间(*)提供10个请求.如果进程需要更多时间来完成,那么您将提供更少的请求 - 或者必须生成更多进程,即使进程无效 - 例如等待数据库咀嚼和返回数据.
面向将进入数据库的请求的node.js进程使数据库在进行另一个请求时工作.
*)MPM使这不完全正确,但对所有意图和目的都足够真实.
| 归档时间: |
|
| 查看次数: |
1129 次 |
| 最近记录: |