首頁 >web前端 >js教程 >node.js適合做什麼?用node.js的好處在哪裡?

node.js適合做什麼?用node.js的好處在哪裡?

寻∝梦
寻∝梦原創
2018-09-05 15:29:228216瀏覽

本篇文章主要的講述了關於node.js適合的方向,node.js適合做什麼?還有node.js有哪些好處呢?具體的詳情請看文章。

一、我們先談談node.js適合做什麼:

首先來說,nodeJs是前端全端的基石,它的應用場景已經從前端工具的鷹架、輔助工具類,發展到api中間層、代理層,以及專業的後端開發。

這其中最有價值的就是api中間層。現在的大趨勢是越來越多的業務被推到前端,後端專注於只提供服務。很典型且常見的工作場景就是,前後端協作的時候,因為進度不同有時前端需要等後端的介面。

這種時候,nodeJs的中間層應用就可以很好的解決這個問題。前端透過nodeJs可以自己約定資料的格式,根據前端的需求自訂自己的接口,自己封裝對資料庫的crud操作,創建自己的代理和網關伺服器等。這些事情在以往只能是等著後端做,但現在透過nodeJs前端都可以自己搞定,這使得工作的過程更加可控。

當然了這也對前端開發人員提出了更高的要求,至少資料庫、架構設計、系統結構 、網路應用這些短板都需要慢慢補齊。

據說啊我也不確定,nodeJs最開始是給後端搞的,只不過為了簡單、異步、大並發而選擇了Java語言,陰差陽錯之下被前端發現並發揚光大。

所以前端搞nodeJs必然是向後端侵蝕,而後端的開發結構、技術堆疊已經很完整了,所以後端一般不願意變動,所以很多時候對於nodeJs的阻力,其實是來自於後端的保守。當然這也是有一定道理的,因為後端主要是服務、資料、底層應用,這些東西都求穩、求安全、還有些歷史遺留問題,所以它們不喜歡新東西。

所以在現階段吧,很多nodeJs的應用都是處於前端和後端之間的橋樑。一般來講,沒有什麼歷史包袱的新公司啊,創業公司啊,孵化計畫之類的更願意使用nodeJs,快速、高效嘛。

現在基本上所有的前端應用都有nodeJs的影子,什麼React、vue、angular等,它的應用場景和就業市場也都很大,所以nodeJs的學習不是讓你可以做什麼,而是讓你多了一個施展的空間。 (想知道更多node.js的內容,就來PHP中文網的node.js影片教學欄位)

二、現在來說說用node.js的好處:

正如您先前所看到的,Node 非常適合以下情況:在回應客戶端之前,您預計可能有很高的流量,但所需的伺服器端邏輯和處理不一定很多。我們總結了Node的三點好處,也可以說是表現出眾的典型範例:

1.RESTful API

提供RESTful API 的Web 服務接收幾個參數,解析它們,組合一個回應,並傳回一個回應(通常是較少的文字)給使用者。這是適合 Node 的理想情況,因為您可以建立它來處理數萬個連接。它仍然不需要大量邏輯;它本質上只是從某個資料庫中查找一些值並將它們組成一個回應。由於回應是少量文本,入站請求也是少量的文本,因此流量不高,一台機器甚至也可以處理最繁忙的公司的 API 需求。

2.Twitter 佇列

想像一下像 Twitter 這樣的公司,它必須接收 tweets 並將其寫入資料庫。實際上,每秒幾乎有數千條 tweet 達到,資料庫不可能及時處理高峰時段所需的寫入數量。 Node 成為這個問題的解決方案的重要一環。如您所見,Node 能處理數萬條入站 tweet。它能快速且輕鬆地將它們寫入一個記憶體排隊機制(例如 memcached),另一個單獨進程可以從那裡將它們寫入資料庫。 Node 在這裡的角色是迅速收集 tweet,並將這個資訊傳遞給另一個負責寫入的進程。想像另一種設計(常規 PHP 伺服器會自己嘗試處理對資料庫本身的寫入):每個 tweet 都會在寫入資料庫時導致一個短暫的延遲,因為資料庫呼叫正在阻塞通道。由於資料庫延遲,一台這樣設計的機器每秒可能只能處理 2000 條入站 tweet。每秒處理 100 萬條 tweet 則需要 500 個伺服器。相反,Node 能處理每個連接而不會阻塞通道,因此能夠捕捉盡可能多的 tweets。一個能處理 50,000 條 tweet 的 Node 機器只需 20 台伺服器即可。

3.電子遊戲統計

如果您在線上玩過《決勝時刻》這款遊戲,當您查看遊戲統計數據時,您會立即意識到一個問題:要產生那種等級的統計數據,必須追蹤海量資訊。這樣,如果有數百萬玩家同時在線上玩遊戲,而且他們處於遊戲中的不同位置,那麼很快就會產生大量資訊。 Node 是這種場景的一種很好的解決方案,因為它能收集遊戲產生的數據,對數據進行最少的合併,然後對數據進行排隊,以便將它們寫入資料庫。使用整個伺服器來追蹤玩家在遊戲中發射了多少子彈看起來很愚蠢,如果您使用Apache 這樣的伺服器,可能會有一些有用的限制;但相反,如果您專門使用一個伺服器來追蹤一個遊戲的所有統計數據,就像使用運行Node 的伺服器所做的那樣,那看起來似乎是個明智之舉。

以上就是關於node.js的用處和node.js的好處的介紹了(想看更多內容就到PHP中文網node.js中文參考手冊欄位),有問題的可以在下方提問

【小編推薦】

node.js該怎麼使用?通俗的講一下node.js的應用程式:

node.js是做什麼的? node.js的10種應用場景介紹

以上是node.js適合做什麼?用node.js的好處在哪裡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn