微軟、IBM、思科、Netflix、PayPal……這些只是少數幾家在產品中使用Node.js軟件的頂尖公司。自2009年首次發佈以來,JavaScript環境愈來愈受歡迎。爲何呢?這是由於Node.js使用起來很是容易。此外,Node.js還容許前端開發者在服務器端構建和執行代碼。這帶來更快的開發週期。那麼都有誰在使用Node.js呢?他們又爲何使用Node.js呢?接下來,小編將先給您分享一些有關Node.js的相關信息,以後爲您呈上收集到的好的Node.js應用程序案例和其背後的緣由。前端
首先,咱們先來了解下什麼是Node.jsnode
簡而言之,Node.js是一個運行時環境。它其實是一個用於構建網絡應用程序的開源JavaScript(即JS的含義)。它容許Node.js開發者在服務器端執行代碼。這意味着,在本身的電腦上或者直接在瀏覽器中執行代碼。所以,Node.js具有輕量級、可伸縮性以及快速編寫腳本代碼的特性。web
如今,Node.js已經成爲所謂JavaScript範例的一個很好的組成部分。Node.js容許並統一應用程序開發,消除了對不一樣語言的需求。Node.js主要用於實時建立web應用程序。不過,因爲整個Node.js生態系統,特別是它的包管理器——NPM,開發移動應用程序也是可能的。數據庫
使用Node.js的同時,您還可使用其餘語言編寫的代碼或腳本。關於Node.js的應用案例,接下來將爲您分享幾個使用Node.js的最具備說服力的項目和公司。編程
應用案例1:PayPal和Node.js後端
您將在基於Node.js構建的應用程序列表中找到PayPal。這項服務必須處理全球超過2億個活躍用戶帳戶,而且它處理的很是完美。PayPal最初的問題是須要不一樣的團隊分別爲前端瀏覽器和後端服務器的應用程序執行任務。在採用了Node.js以後,開發者只須要使用一種單一的編程語言——JavaScript。瀏覽器
根據該公司的聲明,他們基於Node.js構建的應用程序的編寫速度是以前的2倍,它所包含的代碼較以前減小了33%。數以百萬計的人依託PayPal進行支付,這正是Node.js高性能應用案例的真實展現。安全
應用案例2:Netflix和Node.js服務器
做爲全球最大的視頻內容和流媒體服務,Netflix對Node.js的選擇意義重大。它也是最有趣的Node.js應用示例之一。由於視頻提供商的目標是專門爲用戶提供優質界面。使用Node.js項目,它們減小了構建時間,還提供了用戶個性化定製功能。網絡
此外,Netflix還贏得了性能之戰。該公司報告稱,它將應用程序的加載時間提升了70%。事實證實,Node.js運行環境在Netflix應用上很是有效,甚至能夠將數據訪問層遷移到Node.js上。它們還打算將腳本編寫爲Node應用程序。考慮到監控效果,Netflix開發者使用TTI度量-時間來進行實時交互。這是應用啓動和用戶交互之間的時間。
應用案例3:Uber和Node.js
Uber能夠說是最好的Node.js應用案例之一。值得注意的是,一個使用Node.js構建的移動應用,它還會影響製做像Uber這樣的應用的成本。在過去的兩年裏,該公司規模每隔6個月左右就會翻一番。顯然,Node.js的數據處理能力是一個成功的解決方案。
另外一個因素是,隨着對移動出租車服務需求的不斷增加,出租車的規模也在不斷擴大。Uber須要一個對客戶和司機都安全可靠的系統。那麼,Uber爲何通常選擇Node.js和JavaScript呢?Uber聲明瞭三個主要緣由:
1.Node.js能夠快速可靠地處理大量數據;
2.方便的錯誤分析和快速的代碼部署;
3.開源社區帶來的持續技術改進。
Uber如今能夠每1秒處理超過200萬個遠程過程調用(RPC),即便是在高峯時期,這證實了其基於Node.js構建的應用程序的成功。這太使人印象深入了。
應用案例4:LinkedIn和Node.js
做爲商業網絡系統,LinkedIn擁有超過4.5億會員。2016年,LinkedIn這項服務以260億美圓的價格賣給了微軟。沒錯,260億美圓。LinkedIn移動應用後端就是基於Node.js構建的。
LinkedIn轉爲使用Node.js的兩個主要緣由是由於Node.js的性能效率和可伸縮性。他們對基於Node.js上的LinkedIn應用程序所表現的結果很是滿意:
1.資源方面:服務器由原來的15臺減小爲4臺;
2.傳輸容量翻倍;
3.APP在客戶端的運行速度提升了2-10倍。
LinkedIn的移動開發負責人LinkedIn說:「在服務端,咱們的整個移動軟件棧徹底構建在Node中。」
應用案例5:Ebay和Node.js
基於Ebay背後的巨大流量,他們必須採用成熟的技術。做爲JavaScript技術棧的一部分,Node.js很是適合Ebay這個電子商務巨頭。通過公司內部艱難的討論,Ebay工程師最終選擇了Node。其決定因素主要是他們須要讓Ebay這個應用程序儘量實時。
Node.js上擁有1.7億活躍用戶的Ebay應用程序顯示了其保持服務器實時鏈接的高效性能。Ebay的技術優點和部署原則在於如下幾點:一次構建,隨時隨地部署,其他部分自動化。Ebay從一個項目開始採用Node.js,如今他們正在向Node的全功能棧過渡。
應用案例6:沃爾瑪和Node.js
在大型零售企業中,沃爾瑪支持進軍線上電子商務。在與內存泄露鬥爭了6個月後,後端工程師選擇了JavaScript服務,特別是Node.js。它之因此成爲最好的Node.js應用案例之一,是由於如今沃爾瑪從客戶端獲取了更準確的結果。
沃爾瑪使用Node做爲遺留API的編排層。他們如今能夠爲沃爾瑪應用程序建立新的API,而且在數小時內部署它。所以,開發部署時間顯著減小。目前,該公司基於Node.js使用的技術棧包括如下四個:
3.插件(特定於環境)
4.專用NPM包
應用案例7:Medium和Node.js項目
Medium是一個普遍流行的發佈平臺,其應用服務器使用Node.js構建,並附帶Nginx。他們還使用Matador做爲Node環境的乾淨框架。
Medium每個月有2500萬讀者,每週發表數千篇文章。使用面向服務的後端結構,Node.js容許在客戶端和服務器端之間共享媒體代碼。經過使用Node,加快了他們開發部署的時間,最多15分鐘便可完成部署。雖然主應用服務器一般天天部署5次,但其容量可以部署達到10次。
應用案例8:NASA和Node.js
「Node.js助力NASA保護宇航員的安全。」雖然這並不徹底是一個應用程序,可是航天局的Node.js項目展現了JS技術的強大功能。在一次危險的太空事件以後,NASA發現他們的數據散佈在許多地方。他們決定構建本身的端到端數據系統,並使用Node.js。
NASA將全部的內容都轉移到雲中,並構建了Node.js企業級架構。他們使用web API來連接兩個環境。帶來了如下兩個好處:
1.一個統一的數據庫;
2.訪問時間減小300%。
在現實生活中,這些數字意味着宇航員在太空中生活和工做的環境更加安全。這樣的結果是使人驚歎的!
應用案例9:Mozilla和Node.js
在這裏,咱們不將Mozilla做爲世界上前三受歡迎的web瀏覽器來進行討論,咱們主要將它做爲最好的Node.js應用案例之一來分享。由於Mozilla在許多的web應用程序中都使用Node。例如,Mozilla Persona或BrowserID。雖然Mozilla這些項目已經結束,但它選擇Node.js並非沒有緣由的。
兩個主要緣由是Node.js內存可以支持大約100萬用戶、相同語言的JavaScript家族。Mozilla團隊在一個JS存儲庫中能夠輕鬆得到全部可用的東西。所以,全部的團隊都可以快速高效地工做。如今,Mozilla團隊將Node.js用於跨平臺頁面和Express等Web框架。
應用案例10:Trello和Node.js
做爲最好的項目管理工具之一,Trello於2011年開始全面使用JavaScript。Trello開發人員使用Node.js構建了服務器部件。選擇Node.js的緣由是其須要大量的開放鏈接支持。
除此以外,Trello還使用Node.js進行一些原型設計。他們先是在一個單頁應用程序上嘗試,最後又在一個模擬服務器上嘗試。經過這樣的安排,工程師們可以快速嘗試並調整設計。Trello服務器端還使用MongoDB、HAProxy(用於負載平衡)和Redis完成數據共享。
應用案例11:GoDaddy和Node.js
GoDaddy是一家上市的互聯網域名註冊和網絡託管公司。截至2016年1月,GoDaddy擁有超過1300萬客戶和6100萬個管理域名,是全球最大的註冊商。近年來,該公司已將其整個後端改造爲基於開源Node.js的基礎設施。
那他們爲何選擇node.js呢? GoDaddy高級軟件開發工程師Stephen Commisso表示,Node能夠輕鬆構建高質量的應用程序,當即部署新功能,輕鬆編寫單元和集成測試。另外一個關鍵功能是NPM訪問。另外,GoDaddy技術部的副總Antonio Silveira說:「咱們如今使用的用來託管咱們的客戶網站的服務器減小了大約10倍。咱們把第一字節時間(TTFB)從大約60毫秒大大縮短到大約12毫秒。當咱們談到web應用程序時,性能是一個關鍵的區別,包括在谷歌的搜索結果中佔據更好的位置。」
GoDaddy如今只須要10%的硬件就能夠處理相同的負載。
應用案例12:Groupon和Node.js
Groupon是一個全球性的電子商務市場,它經過提供特價的活動、旅行、商品和服務,將用戶與當地商家聯繫起來。截至2015年3月底,Groupon在全球28個國家的500多個城市開展業務,擁有近4810萬活躍客戶,全球交易量超過42.5萬筆。2015年6月,該公司報告完成了從Ruby on Rails應用程序到新的Node.js堆棧的整個Groupon Web和移動流量遷移工做。
那他們又是爲何選擇node.js呢?Groupon前任的企業級Node.js開發人員Sean McCullough列出了一些緣由,好比活躍的社區,NPM,性能和易擴展性。
與早期的Ruby on Rails平臺相比,網頁加載速度提升了約50%,而且可以提供更高的流量。Groupon聲明:
「咱們提供的流量與之前相同,但硬件卻比之前少了。團隊可以獨立地將更改部署到他們的應用程序中。咱們可以在整個站點範圍內進行功能和設計更改,這比咱們使用就體系結構的速度要快得多。
未經贊成,本文禁止轉載或摘編。