“Node.js”為何不適合CPU密集型應用?
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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 為應用選擇合適的同步高速SRAM
- 為什麼Node.js適合在企業應用而Rails不是?Node.jsAI
- 相比NoSQL,關聯式資料庫為何不適合儲存影像? - RedditSQL資料庫
- Node.js 應用高 CPU 佔用率的分析方法Node.js
- 混合雲平臺為何更適合現代應用開發
- CPU-bound(計算密集型) 和I/O bound(I/O密集型)
- 單體應用 適合採用 dapr 構建嗎?
- TODO 最適合練習主流框架的應用框架
- 適合小型外包團隊的5個Web應用程式組合Web
- 為什麼說IO密集型業務,執行緒數是CPU數的2倍?執行緒
- 協作機器人是否適合您的應用?機器人
- 10款熱門應用,看看哪款適合你
- 《資料密集型應用系統設計》筆記筆記
- 編寫iOS應用程式有何不同iOS
- 選擇適合的Node.js授權認證策略Node.js
- 如何選擇合適的移動應用測試工具?
- 全球十所最適合應用開發者攻讀學府
- seo-mask -- 為單頁應用建立一個適合蜘蛛爬取的seo網站網站
- node.js應用RedisNode.jsRedis
- TDSQL 在微信支付資料密集型應用落地實踐SQL
- 資料密集型應用儲存與檢索設計
- HarmonyOS CPU與I/O密集型任務開發指導
- 一起看 I/O | 全新 Google Play SDK 索引助您為應用選擇合適的 SDKGo索引
- Node.js vs Ruby on Rails:哪個最適合Web開發?Node.jsAIWeb
- 嵌入式應用選擇合適的微控制器
- 為什麼用Node.js?Node.js
- 一份為 Node.js 應用準備的 Dockerfile 指南Node.jsDocker
- 為何不用MySQL? (轉)MySql
- 案例:系統的 CPU 使用率很高,但為啥卻找不到高 CPU 的應用?
- 如何不編寫 YAML 管理 Kubernetes 應用?YAML
- 軟命令介面的適用場合
- 世界經濟論壇:這些行業最適合應用ChatGPT行業ChatGPT
- 使用Kotlin構建更適合Android的MVVM應用程式KotlinAndroidMVVM
- Node.js 系列:構建原生 Node.js 應用Node.js
- 為何Node.js 能成為 Web 應用開發最佳選擇?【強推理由】Node.jsWeb
- 這8個工具,用來做python應用程式開發太合適了!Python
- 為 Node.js 應用建立一個更安全的沙箱環境Node.js
- 使用 setTimeout 拆解一些 CPU 密集型的執行任務