Nodejs要點

1 Node.js是一個專一於實現高性能Web服務器優化的專家,幾經探索,幾經挫折後,遇到V8而誕生的項目。web

2 Node.js沒有web容器服務器

3 Node.js是如何解決服務器高性能瓶頸問題的併發

4 在Java、PHP或者.net等服務器端語言中,會爲每個客戶端鏈接建立一個新的線程,Node.js不爲每一個客戶鏈接建立一個新的線程,而僅僅使用一個線程,一個8GB內存的服務器,能夠同時處理超過4萬用戶的鏈接socket

性能

單線程,單線程的好處,減小了內存開銷,操做系統的內存換頁。優化

若是某一個事情,進入了,可是被I/O阻塞了,因此這個線程就阻塞了。操作系統

非阻塞I/O, 不會傻等I/O語句結束,而會執行後面的語句。.net

非阻塞就能解決問題了麼?好比執行着小紅的業務,執行過程當中,小剛的I/O回調完成了,此時怎麼辦??線程

事件機制,事件環,無論是新用戶的請求,仍是老用戶的I/O完成,都將以事件方式加入事件環,等待調度。事件

說是三個特色,其實是一個特色,離開誰都不行,都玩兒不轉了。

6

Node.js適合用來開發什麼樣的應用程序呢?

善於I/O,不善於計算。由於Node.js最擅長的就是任務調度,若是你的業務有不少的CPU計算,實際上也至關於這個計算阻塞了這個單線程,就不適合Node開發。

當應用程序須要處理大量併發的I/O,而在向客戶端發出響應以前,應用程序內部並不須要進行很是複雜的處理的時候,Node.js很是適合。Node.js也很是適合與web socket配合,開發長鏈接的實時交互應用程序

7

因爲穩定性緣由,沒法挑戰PHP,JSP等有Web服務器的大型穩定應用。

相關文章
相關標籤/搜索