真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Nodejs能夠應(yīng)用于什么場景

這篇文章給大家分享的是有關(guān)Nodejs能夠應(yīng)用于什么場景的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

惠城網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,惠城網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為惠城上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個(gè)售后服務(wù)好的惠城做網(wǎng)站的公司定做!

Apache 的多線程高并發(fā)模式

優(yōu)點(diǎn):支持多線程并發(fā)

缺點(diǎn):阻塞

什么是線程

線程是可以獨(dú)立運(yùn)行的最小的 CPU 單位,可以在同一個(gè)進(jìn)程里并發(fā)運(yùn)行,共享該進(jìn)程下的內(nèi)存地址空間。

當(dāng)不同的線程需要占用同一個(gè)變量時(shí),根據(jù)先到先得的原則,先到的線程在運(yùn)作時(shí),后來的線程只能在旁邊等待,也就是加入到了阻塞排隊(duì)序列。就造成了線程阻塞。

類似場景:銀行柜臺辦理業(yè)務(wù)

NodeJS 的異步 I/O 原理

優(yōu)點(diǎn):高并發(fā)(最重要的優(yōu)點(diǎn))、適合 I/O 密集型應(yīng)用

缺點(diǎn):

  • 不適合CPU密集型應(yīng)用(CPU密集型應(yīng)用給Node帶來的挑戰(zhàn)主要是:由于JavaScript單線程的原因,如果有長時(shí)間運(yùn)行的計(jì)算(比如大循環(huán)),將會導(dǎo)致 CPU 時(shí)間片不能釋放,使得后續(xù) I/O 無法發(fā)起)

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

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

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

NodeJS 基于事件循環(huán),每一條 NodeJS 的邏輯寫在回調(diào)函數(shù)里面,回調(diào)函數(shù)在返回之后異步執(zhí)行。【推薦學(xué)習(xí):《nodejs 教程》】

NodeJS 不是沒有阻塞,而是阻塞不發(fā)生在后續(xù)回調(diào)的流程,而會發(fā)生在 NodeJS 本身對邏輯的計(jì)算和處理。

NodeJS 它的所有 I/O、網(wǎng)絡(luò)通信等比較耗時(shí)的操作,都可以交給 worker threads 執(zhí)行再回調(diào),所以很快。但 CPU 的正常操作,它只能自己操作。

類似場景:排隊(duì)點(diǎn)餐后叫號取餐。

NodeJS 的應(yīng)用場景

NodeJS 處理并發(fā)的能力強(qiáng),但處理計(jì)算和邏輯的能力反而很弱。

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

RESTful API

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

它本質(zhì)上只是從某個(gè)數(shù)據(jù)庫中查找一些值并將它們組成一個(gè)響應(yīng)。

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

大量 Ajax 請求的應(yīng)用

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

Apache 適用場景

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

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


標(biāo)題名稱:Nodejs能夠應(yīng)用于什么場景
網(wǎng)頁URL:http://weahome.cn/article/iiohjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部