91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nodejs能夠應用于什么場景

發布時間:2021-05-28 11:25:13 來源:億速云 閱讀:160 作者:小新 欄目:web開發

這篇文章給大家分享的是有關Nodejs能夠應用于什么場景的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

Apache 的多線程高并發模式

優點:支持多線程并發

缺點:阻塞

什么是線程

線程是可以獨立運行的最小的 CPU 單位,可以在同一個進程里并發運行,共享該進程下的內存地址空間。

當不同的線程需要占用同一個變量時,根據先到先得的原則,先到的線程在運作時,后來的線程只能在旁邊等待,也就是加入到了阻塞排隊序列。就造成了線程阻塞。

類似場景:銀行柜臺辦理業務

NodeJS 的異步 I/O 原理

優點:高并發(最重要的優點)、適合 I/O 密集型應用

缺點:

  • 不適合CPU密集型應用(CPU密集型應用給Node帶來的挑戰主要是:由于JavaScript單線程的原因,如果有長時間運行的計算(比如大循環),將會導致 CPU 時間片不能釋放,使得后續 I/O 無法發起)

  • 只支持單核CPU,不能充分利用CPU

  • 可靠性低,一旦代碼某個環節崩潰,整個系統都崩潰
    原因:單進程、單線程
    解決方案:
    (1)Nnigx 反向代理,負載均衡,開多個進程,綁定多個端口;
    (2)開多個進程監聽同一個端口,使用cluster模塊
    (3)線上使用 PM2 管理進程,出現問題自動重啟項目

  • Debug 不方便,錯誤沒有 stack trace

NodeJS 基于事件循環,每一條 NodeJS 的邏輯寫在回調函數里面,回調函數在返回之后異步執行。【推薦學習:《nodejs 教程》】

NodeJS 不是沒有阻塞,而是阻塞不發生在后續回調的流程,而會發生在 NodeJS 本身對邏輯的計算和處理。

NodeJS 它的所有 I/O、網絡通信等比較耗時的操作,都可以交給 worker threads 執行再回調,所以很快。但 CPU 的正常操作,它只能自己操作。

類似場景:排隊點餐后叫號取餐。

NodeJS 的應用場景

NodeJS 處理并發的能力強,但處理計算和邏輯的能力反而很弱。

因此,我們把復雜的邏輯運算搬到前端(客戶端)完成,而 NodeJS 只需要提供異步 I/O,這樣就可以實現對高并發的高性能處理。

RESTful API

這是 NodeJS 最理想的應用場景,可以處理數萬條連接,本身沒有太多的邏輯,只需要請求 API,組織數據進行返回即可。

它本質上只是從某個數據庫中查找一些值并將它們組成一個響應。

由于響應是少量文本,入站請求也是少量的文本,因此流量不高,一臺機器甚至也可以處理最繁忙的公司的 API 需求。

大量 Ajax 請求的應用

實時聊天、客戶端邏輯強大的單頁 APP,具體的例子比如說:本地化的在線音樂應用,本地化的在線搜索應用,本地化的在線 APP 等。

Apache 適用場景

Apache 由于其多線程高并發共享內存地址空間的特性,那就意味著如果服務器足夠強大,處理器足夠高核,Apache 的運作將會非常良好,所以適用于(并發)異步處理相對較少,后臺計算量大,后臺業務邏輯復雜的應用程序。

感謝各位的閱讀!關于“Nodejs能夠應用于什么場景”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

乐陵市| 武宣县| 阿鲁科尔沁旗| 深泽县| 伊川县| 宣恩县| 新竹市| 澄江县| 武冈市| 科技| 定日县| 白银市| 会理县| 苍梧县| 望城县| 千阳县| 焦作市| 广灵县| 象山县| 富民县| 阿荣旗| 武陟县| 五莲县| 眉山市| 八宿县| 松桃| 云林县| 永宁县| 尚义县| 博客| 敦煌市| 铜梁县| 宜章县| 凤城市| 天柱县| 宁远县| 凤台县| 富裕县| 石楼县| 吴忠市| 安远县|