您好,登錄后才能下訂單哦!
本篇內容介紹了“選擇Node.js作為服務器端運行環境的優勢有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Groupon從Ruby on Rails遷移至Node.js
為什么要放棄原有技術棧?
Groupon目前在全球共有兩套站點——美國網站和歐洲網站,其美國網站前端最初是一個單一的Rails(最流行的Ruby開發框架)代碼庫。對于為什么會選擇Rails來開發最初的網站,Groupon開發人員表示,Rails非常適合小型團隊快速開發,可以讓網站快速啟動并運行起來,這對于初期功能不斷變化的Groupon來說,是個非常不錯的選擇。
隨著Groupon的發展和新產品不斷推出,這個代碼庫越來越大,有太多的開發者在同一個代碼庫工作,他們很難在本地運行并測試產品,如果有問題需要回滾,那么每個人的工作都前功盡棄了。
Groupon團隊決定將原有的單一Rails庫分割成小的、獨立的、更易于管理的庫。
為什么選擇Node.js?
Groupon團隊評估了不同的軟件棧,想尋找一個能夠解決這些問題的方案——有效處理大量傳入的HTTP請求、使并行API請求服務于每一個HTTP請求、將結果渲染為HTML5,并可以有效實現監控、部署和支持。
該團隊使用不同的軟件棧開發了原型,并測試了它們,總體來說,發現Node.js是個非常適合的解決方案。
如何遷移?
Groupon團隊使用Node.js重建了網站頁面的每個主要部分,將它們作為一個獨立的Node.js應用程序,然后重建了基礎設施,使所有獨立的應用程序可以一起工作。遷移之后,Groupon成為了全球最大的Node.js部署產品之一。
遷移帶來的好處
之前單個Rails前端代碼庫被分割成了20個獨立的應用程序,其帶來了如下的好處:頁面加載更快——快了50%與之前相比,處理相同的流量所使用的硬件資源更少團隊可以獨立地更改、部署各自負責的模塊網站功能和設計實現可以快速迭代
更詳細的信息可參閱 Groupon開發團隊的博客。
選擇Nodejs的N個理由
Caleb Madrigal是來自美國密爾沃基市的一名軟件顧問。四年前,他在聽說“將JavaScript用作服務器端語言”這樣的說法時,認為那是一個荒唐的想法。有那么多服務器端語言可供選擇,為什么要選JavaScript?這是他當時的想法。但現在,他在當前的項目中選用了JavaScript/Node.js。他近日撰文對自己的這一轉變進行了解釋。
首先,許多頂級企業都使用了Node.js,并且效果非常好,其中包括PayPal、Walmart、Ebay、Groupon和LinkedIn。這些企業在生產環境中大量使用了Node.js。Madrigal舉了PayPal的例子。PayPal針對他們網站上其中一個流量最大的應用,對比了它的Node.js版本和Java版本,發現前者在多個方面優于后者,并最終決定由Java切換到JavaScript。InfoQ對此有過報道。
其次,Node.js有一個很棒的包管理系統NPM。通過運行“npm install 包名”幾乎可以安裝任何包/庫。另外,通過package.json文件可以跟蹤依賴關系。因此,Node.js庫很容易克隆,運行“npm install”可以安裝所有的依賴關系。
再次,Node.js社區異常活躍,總是有新的庫產生。這些庫非常好用,使JavaScript成為一個非常高效的平臺。
然后是Node.js 的REPL(read-evaluate-print loop)命令行。開發人員只需要在終端中輸入“node”,就可以對Node.js進行逐行測試。
最后,Node.js有一個很重要的特性:非阻塞函數。這就是為什么我們會在Node.js的代碼中看到大量的callbacks和promises。這種設計模式給Node.js帶來了非常優異的性能。
此外,Node.js的最大一個優點是:它是JavaScript。任何人都知道JavaScript,所以使用Node.js不需要學習一門新語言。有了它,開發人員可以只使用一種語言,瀏覽器端用JavaScript,服務器端用Node.js。在使用像MongoDB和CouchDB這樣存儲JSON對象的文檔數據庫時,這會極大地簡化數據庫和用戶界面之間的數據傳遞任務。
“選擇Node.js作為服務器端運行環境的優勢有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。