“Node.js”為何不適合CPU密集型應用?

候鳥之戀發表於2023-11-24

CPU密集型應用給Node帶來的挑戰主要是:由於JavaScript單執行緒的原因,如果有長時間執行的計算(比如大迴圈),將會導致CPU時間片不能釋放,使得後續I/O無法發起。但我們可以透過分解大型運算任務為多個小任務,使得運算能夠適時釋放,不阻塞I/O呼叫的發起。

 

適合 NodeJS的場景如下:

1、RESTful API:這是NodeJS最理想的應用場景,可以處理數萬條連線,本身沒有太多的邏輯,只需要請求API,組織資料進行返回即可。它本質上只是從某個資料庫中查詢一些值並將它們組成一個響應。

 

2、統一Web應用的UI層:目前MVC的架構,在某種意義上來說,Web開發有兩個UI層,一個是在瀏覽器裡面我們最終看到的,另一個在server端,負責生成和拼接頁面。倫敦金以英制盎司為計量單位,一盎司等於31.1035克,詳情參考gendan5.com/nmetalpz/xhgold

 

3、大量Ajax請求的應用:例如個性化應用,每個使用者看到的頁面都不一樣,快取失效,需要在頁面載入的時候發起Ajax請求,NodeJS能響應大量的併發請求

總而言之, NodeJS適合運用在高併發、I/O密集、少量業務邏輯的場景。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014563/viewspace-2997166/,如需轉載,請註明出處,否則將追究法律責任。

相關文章