什么是Node.js?
Node.js是一個開放源代碼的JavaScript運行時環(huán)境,可在瀏覽器外部執(zhí)行JavaScript代碼。它基于Chrome的V8 JavaScript引擎構(gòu)建,并考慮了可擴展性。它非常適合輕量級、快速的實時web應(yīng)用程序。那么,Node.js吸引越來越多公司的原因是什么呢?它可以創(chuàng)建協(xié)作工具、聊天工具、社交媒體應(yīng)用程序等。根據(jù)Stackoverflow的說法,Node.js是最受歡迎的技術(shù)之一。
NASA
NASA的應(yīng)用程序著重于在太空探險中確保宇航員的安全。在一次事故中,一名宇航員差點喪命,NASA面臨著將所有EVA宇航服的數(shù)據(jù)轉(zhuǎn)移到一個云數(shù)據(jù)庫的挑戰(zhàn)。他們采用了Node.js,這有助于將程序步驟的數(shù)量從28個減少到7個!
“他正在創(chuàng)建的這個系統(tǒng)使用了一個微服務(wù)架構(gòu),其中包含了用Node.js構(gòu)建的獨立api和應(yīng)用程序,以便將與EVA航天服相關(guān)的數(shù)據(jù)從三個獨立的遺留數(shù)據(jù)庫轉(zhuǎn)移到一個云數(shù)據(jù)庫。現(xiàn)在,用戶可以查詢一個數(shù)據(jù)庫,從而將訪問一組完整數(shù)據(jù)的時間減少了大約300%。”
Node.js Foundation 案例研究
好處:
- 單一數(shù)據(jù)庫
- 訪問時間縮短了300%
- 減少程序步驟
Netflix
這家全球最大的流媒體和VOD提供商擁有超過1.3億用戶,他們將后端從Java轉(zhuǎn)到了Node.js。他們需要一個可擴展的解決方案,能夠處理每周10億小時的視頻流和所有的請求。利用像Node.js這樣的快速輕量級平臺,Netflix可以減少70%的啟動時間。
好處:
- 構(gòu)建時間更短
- 更輕,更快,更模塊化的應(yīng)用程序
PayPal
2013年,PayPal決定從Java遷移到Node.js。這使得頁面響應(yīng)時間縮短了200ms,每秒可以處理的請求數(shù)量增加了一倍。由于開發(fā)團隊曾經(jīng)分為編寫特定于瀏覽器的代碼的開發(fā)團隊和編寫特定于應(yīng)用程序?qū)拥拇a的開發(fā)團隊,Node.js是一個理想的解決方案。
“ Node.js通過使瀏覽器和服務(wù)器應(yīng)用程序都可以用JavaScript編寫來幫助我們解決這一問題。它把我們的專業(yè)人員統(tǒng)一為一個團隊,使我們能夠在技術(shù)堆棧的任何層次上理解并響應(yīng)用戶的需求。”
貝寶(PayPal)付款產(chǎn)品和工程高級總監(jiān)Jeff Harrell
好處:
- 平均響應(yīng)時間減少了35%
- 頁面服務(wù)縮短了200ms
- 代碼減少30%,行數(shù)減少40%
Uber
優(yōu)步是世界著名的出租車司機與客戶溝通的平臺。他們的應(yīng)用程序使用了一些Node.js工具和編程語言。盡管他們不斷地引入新技術(shù),Node.js仍然是他們的基礎(chǔ),因為它允許快速擴展。值得一提的是,Uber是最早使用Node.js的公司之一。
“使Node.js特別適合在生產(chǎn)環(huán)境中運行的原因之一是,您可以檢查和更改程序而無需重新啟動它。很少有其他語言提供該功能。”
Uber高級工程師Matt Ranney
好處:
- 強大的處理能力
領(lǐng)英
2011年,一個服務(wù)6300萬用戶的平臺決定從Ruby on Rails轉(zhuǎn)向Node.js。通過這樣做,開發(fā)人員可以從同步系統(tǒng)轉(zhuǎn)移到異步系統(tǒng)。這提高了性能和可伸縮性。
“我們在LinkedIn上使用了大量技術(shù),但對于移動服務(wù)器而言,它完全基于Node。原因之一是規(guī)模。第二個是,如果您查看Node,它最擅長的就是與其他服務(wù)進行對話。移動應(yīng)用必須與我們的平臺API和數(shù)據(jù)庫對話。與以前使用的Ruby on Rails相比,Node向我們展示了巨大的性能提升。”
Linkedin產(chǎn)品副總裁Kiran Prasad
好處:
- 將服務(wù)器數(shù)量從15減少到4
- 流量服務(wù)提升了一倍
- 應(yīng)用程序運行速度提高2-10倍
雅虎
在2009年Node首次發(fā)布后不到一年的時間里,雅虎就開始使用Node.js。2016年,雅虎成為Node.js Foundation的一員。雅虎的博客證實,其網(wǎng)絡(luò)應(yīng)用程序中有75%是基于Node的。
“最初,我們使用它來執(zhí)行簡單的后端任務(wù),例如文件上傳。從那之后,Node.js成為Yahoo開發(fā)新前端應(yīng)用程序的頂級編程語言之一。”
好處:
- 提高了性能
Trello
全球超過2500萬人使用的項目管理工具,Selleo就是其中之一。Trello的服務(wù)器端使用Node.js作為構(gòu)建單頁面應(yīng)用程序的原型工具。
“服務(wù)器端是使用Node.js構(gòu)建的。當公司為單頁面應(yīng)用程序設(shè)計工具時,Node.js很有幫助。在公司完成原型制作時,他們決定在應(yīng)用程序的服務(wù)器端也堅持使用Node。” Node.JS公司博客
好處:
- 事件驅(qū)動的非阻塞服務(wù)器
- 能夠保持許多打開的連接以進行即時更新
eBay
eBay需要一個實時應(yīng)用程序來維持與服務(wù)器的實時連接,以及一個能夠處理大量eBay特定服務(wù)的出色解決方案。他們提到Node.js的許多特性:性能、可伸縮性、速度、簡單性、完全控制和透明性。感。
“現(xiàn)在,我們的Node.js Web服務(wù)可以在各種穩(wěn)定的環(huán)境中運行。整個部署設(shè)置比我們預(yù)期的更快,更簡單。我們對該項目有兩個主要要求。首先是使應(yīng)用程序盡可能實時,即保持與服務(wù)器的實時連接。第二個是協(xié)調(diào)大量的eBay特定服務(wù),這些服務(wù)在頁面上顯示信息,即處理I / O綁定的操作。”
eBay科技博客
好處:
- 更快,更可靠的應(yīng)用
- 單線程
- 過程透明
Groupon
隨著Ruby on Rails、Java和PHP越來越難以維護,Groupon決定在Node.js上重建他們的web層。他們長達一年的遷移項目已經(jīng)成為Node.js最大的生產(chǎn)部署之一。
“在Groupon,我們相信開放式協(xié)作是導(dǎo)致技術(shù)界真正創(chuàng)新的原因。正如我在新聞稿中所引用的那樣,Node.js基礎(chǔ)結(jié)構(gòu)對我們非常重要,并且是我們平臺的核心。”
Groupon首席技術(shù)官兼工程高級副總裁Sri Viswanath
好處:
- 平臺速度提高50%
- 更高的穩(wěn)定性和處理大量流量的能力
沃爾瑪
2017年,全球銷售額達4813.2億美元的沃爾瑪決定使用Node.js。他們重新開發(fā)了移動應(yīng)用程序,為客戶提供高級功能。
好處:
- 新插件和NPM軟件包
- 精準結(jié)果
- 能夠使用SmartOS