人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

選擇Node.js作為服務(wù)器端運行環(huán)境的優(yōu)勢解析

發(fā)布日期:2022-01-30 11:35 | 文章來源:gibhub

Groupon從Ruby on Rails遷移至Node.js

為什么要放棄原有技術(shù)棧?

Groupon目前在全球共有兩套站點——美國網(wǎng)站和歐洲網(wǎng)站,其美國網(wǎng)站前端最初是一個單一的Rails(最流行的Ruby開發(fā)框架)代碼庫。對于為什么會選擇Rails來開發(fā)最初的網(wǎng)站,Groupon開發(fā)人員表示,Rails非常適合小型團隊快速開發(fā),可以讓網(wǎng)站快速啟動并運行起來,這對于初期功能不斷變化的Groupon來說,是個非常不錯的選擇。

隨著Groupon的發(fā)展和新產(chǎn)品不斷推出,這個代碼庫越來越大,有太多的開發(fā)者在同一個代碼庫工作,他們很難在本地運行并測試產(chǎn)品,如果有問題需要回滾,那么每個人的工作都前功盡棄了。

Groupon團隊決定將原有的單一Rails庫分割成小的、獨立的、更易于管理的庫。

為什么選擇Node.js?

Groupon團隊評估了不同的軟件棧,想尋找一個能夠解決這些問題的方案——有效處理大量傳入的HTTP請求、使并行API請求服務(wù)于每一個HTTP請求、將結(jié)果渲染為HTML5,并可以有效實現(xiàn)監(jiān)控、部署和支持。

該團隊使用不同的軟件棧開發(fā)了原型,并測試了它們,總體來說,發(fā)現(xiàn)Node.js是個非常適合的解決方案。

如何遷移?

Groupon團隊使用Node.js重建了網(wǎng)站頁面的每個主要部分,將它們作為一個獨立的Node.js應(yīng)用程序,然后重建了基礎(chǔ)設(shè)施,使所有獨立的應(yīng)用程序可以一起工作。遷移之后,Groupon成為了全球最大的Node.js部署產(chǎn)品之一。

遷移帶來的好處

之前單個Rails前端代碼庫被分割成了20個獨立的應(yīng)用程序,其帶來了如下的好處:頁面加載更快——快了50%與之前相比,處理相同的流量所使用的硬件資源更少團隊可以獨立地更改、部署各自負(fù)責(zé)的模塊網(wǎng)站功能和設(shè)計實現(xiàn)可以快速迭代
更詳細(xì)的信息可參閱 Groupon開發(fā)團隊的博客。


選擇Nodejs的N個理由
Caleb Madrigal是來自美國密爾沃基市的一名軟件顧問。四年前,他在聽說“將JavaScript用作服務(wù)器端語言”這樣的說法時,認(rèn)為那是一個荒唐的想法。有那么多服務(wù)器端語言可供選擇,為什么要選JavaScript?這是他當(dāng)時的想法。但現(xiàn)在,他在當(dāng)前的項目中選用了JavaScript/Node.js。他近日撰文對自己的這一轉(zhuǎn)變進行了解釋。

首先,許多頂級企業(yè)都使用了Node.js,并且效果非常好,其中包括PayPal、Walmart、Ebay、Groupon和LinkedIn。這些企業(yè)在生產(chǎn)環(huán)境中大量使用了Node.js。Madrigal舉了PayPal的例子。PayPal針對他們網(wǎng)站上其中一個流量最大的應(yīng)用,對比了它的Node.js版本和Java版本,發(fā)現(xiàn)前者在多個方面優(yōu)于后者,并最終決定由Java切換到JavaScript。InfoQ對此有過報道。

其次,Node.js有一個很棒的包管理系統(tǒng)NPM。通過運行“npm install 包名”幾乎可以安裝任何包/庫。另外,通過package.json文件可以跟蹤依賴關(guān)系。因此,Node.js庫很容易克隆,運行“npm install”可以安裝所有的依賴關(guān)系。

再次,Node.js社區(qū)異?;钴S,總是有新的庫產(chǎn)生。這些庫非常好用,使JavaScript成為一個非常高效的平臺。

然后是Node.js 的REPL(read-evaluate-print loop)命令行。開發(fā)人員只需要在終端中輸入“node”,就可以對Node.js進行逐行測試。

最后,Node.js有一個很重要的特性:非阻塞函數(shù)。這就是為什么我們會在Node.js的代碼中看到大量的callbacks和promises。這種設(shè)計模式給Node.js帶來了非常優(yōu)異的性能。

此外,Node.js的最大一個優(yōu)點是:它是JavaScript。任何人都知道JavaScript,所以使用Node.js不需要學(xué)習(xí)一門新語言。有了它,開發(fā)人員可以只使用一種語言,瀏覽器端用JavaScript,服務(wù)器端用Node.js。在使用像MongoDB和CouchDB這樣存儲JSON對象的文檔數(shù)據(jù)庫時,這會極大地簡化數(shù)據(jù)庫和用戶界面之間的數(shù)據(jù)傳遞任務(wù)。

香港快速服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部