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

來源:互聯網
上載者:User
本篇文章主要的講述了關於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的內容,就來topic.alibabacloud.com的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的好處的介紹了(想看更多內容就到topic.alibabacloud.comnode.js中文參考手冊欄目),有問題的可以在下方提問

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.