你的位置:首页 > 软件开发 > Java > Node异步I/O、事件驱动与高性能服务器

Node异步I/O、事件驱动与高性能服务器

发布时间:2016-01-27 15:00:22
事件循环、观察者、请求对象、I/O线程池这四者共同构成了Node异步I/O模型的基本要素。异步I/O流程:事件驱动的实质,即通过主循环加事件触发的方式来运行程序。利用Node构建Web服务器的流程图:经典服务器模型:同步式。每进程/每请求。为每个请求启动一个进程,这样可以处理多个 ...

事件循环、观察者、请求对象、I/O线程池这四者共同构成了Node异步I/O模型的基本要素。

异步I/O流程:

Node异步I/O、事件驱动与高性能服务器

经典服务器模型:

  • 同步式。
  • 每进程/每请求。为每个请求启动一个进程,这样可以处理多个请求,但是它不具备扩展性,因为系统资源只有那么多。
  • 每线程/每请求。为每个请求启动一个线程来处理。尽管线程比进程要轻量,但是由于每个线程都要占用一定内存,当大并发请求到来时,内存将会很快用光,导致服务器缓慢。目前被Apache采用。

Node通过事件驱动的方式处理请求,无须为每个请求创建额外的对应线程,可以省掉创建线程和销毁线程的开销,同时操作系统在调度任务时因为线程较少,上下文切换的代价很低。这使服务器能够有条不紊地处理请求,即使在大量连接的情况下,也不受线程上下文切换开销的影响,这是Node高性能的一个原因。

参考《深入浅出Node.js》


原标题:Node异步I/O、事件驱动与高性能服务器

关键词:异步

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。