事件循環、觀察者、請求對象、I/O線程池這四者共同構成了Node異步I/O模型的基本要素。服務器
異步I/O流程:併發
事件驅動的實質,即經過主循環加事件觸發的方式來運行程序。異步
利用Node構建Web服務器的流程圖:性能
經典服務器模型:操作系統
Node經過事件驅動的方式處理請求,無須爲每一個請求建立額外的對應線程,能夠省掉建立線程和銷燬線程的開銷,同時操做系統在調度任務時由於線程較少,上下文切換的代價很低。這使服務器可以有條不紊地處理請求,即便在大量鏈接的狀況下,也不受線程上下文切換開銷的影響,這是Node高性能的一個緣由。線程
參考《深刻淺出Node.js》對象