“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 應用高 CPU 佔用率的分析方法Node.js
- 相比NoSQL,關聯式資料庫為何不適合儲存影像? - RedditSQL資料庫
- 單體應用 適合採用 dapr 構建嗎?
- TODO 最適合練習主流框架的應用框架
- 《資料密集型應用系統設計》筆記筆記
- 協作機器人是否適合您的應用?機器人
- 如何不編寫 YAML 管理 Kubernetes 應用?YAML
- node.js應用RedisNode.jsRedis
- 為什麼說IO密集型業務,執行緒數是CPU數的2倍?執行緒
- 資料密集型應用儲存與檢索設計
- 如何選擇合適的移動應用測試工具?
- HarmonyOS CPU與I/O密集型任務開發指導
- seo-mask -- 為單頁應用建立一個適合蜘蛛爬取的seo網站網站
- 為什麼用Node.js?Node.js
- TDSQL 在微信支付資料密集型應用落地實踐SQL
- Node.js 系列:構建原生 Node.js 應用Node.js
- 嵌入式應用選擇合適的微控制器
- 一起看 I/O | 全新 Google Play SDK 索引助您為應用選擇合適的 SDKGo索引
- 使用 setTimeout 拆解一些 CPU 密集型的執行任務
- 案例:系統的 CPU 使用率很高,但為啥卻找不到高 CPU 的應用?
- 這8個工具,用來做python應用程式開發太合適了!Python
- 為何Node.js 能成為 Web 應用開發最佳選擇?【強推理由】Node.jsWeb
- 為 Node.js 應用建立一個更安全的沙箱環境Node.js
- ThingJS API 2.0全面進化更適合數字孿生應用JSAPI
- 世界經濟論壇:這些行業最適合應用ChatGPT行業ChatGPT
- 傳統的 Linux 軟體包格式不適合現代應用Linux
- 使用Rustlang的Async Tokio執行時處理CPU密集型任務Rust
- Loom會造成CPU密集型執行緒的不公平排程OOM執行緒
- 應用適配資料庫還是資料庫適配應用資料庫
- 教你實現華為快應用深色主題適配
- 為什麼Kubernetes天然適合微服務?微服務
- 為什麼 kubernetes 天然適合微服務微服務
- 正確選擇合適的移動應用測試工具很重要
- 專案型製造企業適合應用哪種ERP系統?
- 使用 NestJS 開發 Node.js 應用Node.js
- 2、Node.js 第一個應用Node.js
- 使用 HTTP/2 加速 Node.js 應用HTTPNode.js