10個(gè)更優(yōu)Node.js企業(yè)應(yīng)用案例:從Uber到LinkedIn
Node.js 8已經(jīng)發(fā)布了,NPM模塊每周下載量早已超過10億,從Uber到LinkedIn都在使用Node.js,誰說JavaScript不能寫后臺(tái)?
1、Uber
在過去的兩年里,Uber的規(guī)模每半年就會(huì)翻倍。Node.js之所以被選中,正是由于它強(qiáng)大的數(shù)據(jù)處理能力。
Uber需要為用戶和司機(jī)提供可靠的服務(wù),因此用車需求增加時(shí),需要擴(kuò)展服務(wù),這是另外一個(gè)考慮因素。根據(jù)How Uber Uses Node.js to Scale Their Business,Uber選擇Node.js的原因如下:
- 它可以高效穩(wěn)定地處理大量數(shù)據(jù)
- 錯(cuò)誤分析很方便,可以加快開發(fā)進(jìn)度
- 擁抱開源,因此技術(shù)持續(xù)進(jìn)步
Uber每天可以處理20億個(gè)遠(yuǎn)程過程調(diào)用(Remote Procedure Call,RPC),足以證明Node.js的成功。
2、PayPal
PayPal需要為全世界2億活躍用戶提供服務(wù),它做得非常***。剛開始,PayPay需要將團(tuán)隊(duì)成員分工,分別開發(fā)前后端應(yīng)用。自從PayPal選擇使用Node.js替代Java開發(fā)后端,整個(gè)團(tuán)隊(duì)只需要使用一種編程語言—JavaScript。
根據(jù)Node.js at PayPal,使用Node.js之后,應(yīng)用開發(fā)速度提高了2倍;代碼量減少了33%;文件數(shù)目減少了40%,并且,每秒處理的請求數(shù)增加了2倍,接口的請求時(shí)間減少了35%。
3、Netflix
Netflix是世界上***的視頻和流數(shù)據(jù)服務(wù)之一,根據(jù)Making Netflix.com Faster,Node.js使得應(yīng)用啟動(dòng)時(shí)間減少了70%。
4、Ebay
經(jīng)過激烈討論,Eabay工程師最終選擇了Node.js,因?yàn)樗麄儗?shí)時(shí)性要求非常高。根據(jù)How We Built eBay’s First Node.js Application,Ebay嘗試用Node.js開發(fā)一個(gè)應(yīng)用之后,就將整個(gè)后端從Java都遷移到了Node.js。Ebay有1.7億活躍用戶,這說明Node.js能夠處理大量的網(wǎng)絡(luò)請求。
5、Walmart
被內(nèi)存泄漏問題折磨了大半年之后,Walmart的后端工程師選擇了Node.js。他們使用Node.js重寫后端API之后,發(fā)現(xiàn)他們的發(fā)布時(shí)間大幅減少了。Walmart使用了這些技術(shù)棧:
- HAPI (Walmart的開源后端框架)
- 私有NPM模塊
6、Medium
Medium是一個(gè)非常受歡迎的閱讀平臺(tái),它平均每月有2500萬讀者,每周發(fā)布數(shù)千篇文章。根據(jù)The Stack That Helped Medium Drive 2.6 Millennia of Reading Time,Memdium的后端主程是由Node.js開發(fā)的,使用Matador作為后臺(tái)框架。使用Node.js幫助他們可以在前后端復(fù)用代碼。
7、NASA
在Node.js Helps NASA Keep Astronauts Safe and Data Accessible中,NASA表示”Node.js保證了宇航員的安全”,是不是感覺很意外?在太空中發(fā)生一次危險(xiǎn)的意外之后,NASA發(fā)現(xiàn)它的數(shù)據(jù)分散在各個(gè)不同的地方。于是,他們決定使用Node.js構(gòu)建一個(gè)端到端系統(tǒng)來存儲(chǔ)數(shù)據(jù)。NASA使用Node.js構(gòu)建的應(yīng)用將數(shù)據(jù)從不同的地方復(fù)制到云數(shù)據(jù)中,這樣:
- 單個(gè)云數(shù)據(jù)庫保存了所有數(shù)據(jù)
- 數(shù)據(jù)讀取時(shí)間減少了300%
NASA數(shù)據(jù)存儲(chǔ)更加安全,使用更加方便之后,這就意味著宇航員可以更加安全地在太空中工作了!
8、Mozilla
Mozilla使用Node.js開發(fā)了大量應(yīng)用,基于以下兩個(gè)主要原因:
- 節(jié)省內(nèi)存使用,因?yàn)锽rowser ID服務(wù)1百萬用戶。
- 在前后端同時(shí)使用JavaScript,這樣可以提高開發(fā)效率。
9、Trello
Trello是***用的項(xiàng)目管理工具之一。根據(jù)The Trello Tech Stack,Trello在2011年在開始之初就在前后端均使用了JavaScript。因?yàn)樾枰幚泶罅康木W(wǎng)絡(luò)請求,他們使用Node.js開發(fā)后端。
10、LinkedIn
LinkedIn擁有4.5億用戶,2016年微軟以260億美元收購了它。LinkedIn的移動(dòng)應(yīng)用的后端是由Ruby on Rails切換到了Node.js。根據(jù)LinkedIn Moved From Rails To Node,優(yōu)異的性能和擴(kuò)展性是LinkedIn選擇Node.js的主要原因。使用Node.js之后:
- 某些場景下,性能提高20倍
- 服務(wù)器由30個(gè)減少到了3個(gè)
參考鏈接
- How Uber Uses Node.js to Scale Their Business
- Node.js at PayPal
- Making Netflix.com Faster
- How We Built eBay’s First Node.js Application
- The Stack That Helped Medium Drive 2.6 Millennia of Reading Time
- Node.js Helps NASA Keep Astronauts Safe and Data Accessible
- The Trello Tech Stack
- LinkedIn Moved From Rails To Node