溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

nodejs適合做哪些項(xiàng)目

發(fā)布時(shí)間:2021-11-23 16:11:47 來(lái)源:億速云 閱讀:204 作者:iii 欄目:web開發(fā)

這篇文章主要介紹“nodejs適合做哪些項(xiàng)目”,在日常操作中,相信很多人在nodejs適合做哪些項(xiàng)目問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”nodejs適合做哪些項(xiàng)目”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

nodejs適合做的項(xiàng)目:1、“I/O”密集型應(yīng)用;2、中間層;3、RPC服務(wù);4、基礎(chǔ)工具,例編譯器、構(gòu)建工具、搭建腳手架等;5、論壇社區(qū)系統(tǒng);6、BFF應(yīng)用;7、Serverless;8、微服務(wù)等等。

nodejs適合做哪些項(xiàng)目

本教程操作環(huán)境:windows7系統(tǒng)、nodejs 12.19.0版,DELL G3電腦。

Node.js 適用于什么

I/O 密集型應(yīng)用

Node.js 的優(yōu)勢(shì)主要在于事件循環(huán),非阻塞異步 I/O,只開一個(gè)線程,不會(huì)每個(gè)請(qǐng)求過(guò)來(lái)我都去創(chuàng)建一個(gè)線程,從而產(chǎn)生資源開銷。

ResutFul API

通常我們可以使用 Node.js 來(lái)做為中間層,負(fù)責(zé)組裝數(shù)據(jù)提供 API 接口給到前端調(diào)用,這些數(shù)據(jù)源可能來(lái)自第三方接口或者數(shù)據(jù)庫(kù),例如,以前可能我們通過(guò)后端 Java、PHP 等其它語(yǔ)言來(lái)做,現(xiàn)在我們前端工程師通過(guò) Node.js 即可完成,后端則可以更專注于業(yè)務(wù)開發(fā)。

既然提到了 ResultFul API,順便推薦一個(gè)去哪兒開源的 API 管理工具 YAPI:https://github.com/YMFE/yapi 使用的 Node.js 進(jìn)行開發(fā)的(聲明下這里不是打廣告,只是這個(gè)用起來(lái)真的很贊!忍不住向給大家推薦?。?。

RPC 服務(wù)

RPC(Remote Procedure Call)中文名「遠(yuǎn)程過(guò)程調(diào)用」,也許你對(duì)它很陌生,但是在當(dāng)今微服務(wù)模式下,我們可能是針對(duì)功能或者具體的業(yè)務(wù)形態(tài)進(jìn)行服務(wù)化,那么服務(wù)之間的通信一種常見(jiàn)的模式我們都知道通過(guò) HTTP 來(lái)實(shí)現(xiàn),了解網(wǎng)絡(luò)模型的同學(xué)可能知道,如果我們現(xiàn)在通過(guò) TCP 的方式是不是會(huì)更高效呢?

當(dāng)然是的,HTTP 屬于應(yīng)用層協(xié)議,在這之下就是傳輸層,顯然以 TCP 形式是很有優(yōu)勢(shì)的,RPC 服務(wù)也就是采用的 TCP,現(xiàn)在出名的 RPC 服務(wù)例如,Google 的 gRPC、阿里的 Dubbo。

基礎(chǔ)工具

可以做為基礎(chǔ)工具,前端領(lǐng)域中的編譯器、構(gòu)建工具、搭建腳手架等。比較出名的例如 Webpack、Gulp 都是很成功的。

論壇社區(qū)

Nodeclub 是使用 Node.js 和 MongoDB 開發(fā)的社區(qū)系統(tǒng),界面優(yōu)雅,功能豐富,小巧迅速,可以用它搭建自己的社區(qū)。Cnode 社區(qū)就是一個(gè)成功的例子。

Backend For Frontend

Backend For Frontend,簡(jiǎn)稱 BFF,服務(wù)于前端的后端,并非是一種新技術(shù)只是一種邏輯上的分層,在這一層我們可以做一些資源的整合,例如:原先前端需要從三個(gè)不同的地方來(lái)獲取資源,那么,有了這一層之后,我們是不是可以做個(gè)聚合,統(tǒng)一處理之后返回給前端,同時(shí)也不授后端系統(tǒng)的變遷,導(dǎo)致也要去更改。

Serverless

這將是未來(lái)經(jīng)常會(huì)聽到的一個(gè)詞,ServerLess 是一種 “無(wú)服務(wù)器架構(gòu)”,它不需要開發(fā)者去關(guān)心運(yùn)維、流量處理這些工作,開發(fā)者則可以更關(guān)注于業(yè)務(wù)本身。

函數(shù)即服務(wù),那么寫一個(gè)函數(shù)就可以實(shí)現(xiàn)一個(gè) API 接口給到前端,顯然對(duì)開發(fā)工作是減輕了很多,在 JavaScript 中函數(shù)則是一等一的公民,在 ServerLess 這一場(chǎng)景下 Node.js 本身也很輕量級(jí),還是擁有著很大的優(yōu)勢(shì)。

Microservices(微服務(wù))

微服務(wù)也是近兩年一個(gè)很火熱的詞,這里提幾個(gè)微服務(wù)主要的特點(diǎn):小型服務(wù)、以獨(dú)立進(jìn)程運(yùn)行、可以使用不同語(yǔ)言。那么這里則可以根據(jù)業(yè)務(wù)形態(tài)來(lái)選擇不同的語(yǔ)言實(shí)現(xiàn),Node.js 本身也是很輕量級(jí)的,實(shí)現(xiàn)起來(lái)也很快,在一些 I/O 密集場(chǎng)景還是很適用的。

什么場(chǎng)景選擇什么工具,沒(méi)有最好的只有更合適的!

到此,關(guān)于“nodejs適合做哪些項(xiàng)目”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI