近年來JavaScript和NodeJS這對“二人轉”正在以摧枯拉朽之勢席卷軟件世界。
NodeJS是基于谷歌Chrome V8 JS引擎的開源服務器端JavaScript環境,曾經一度被業界恥笑為曇花一現的時髦貨,但如今NodeJS已經成為web應用開發最常用的環境,而且正在挺進壁壘森嚴的企業應用市場。
JavaScript和NodeJS為何如此風靡?Anthony Delgado列舉了五個IT巨頭在高流量、大規模生產環境中采用服務器端JavaScript引擎的案例:
一、Netflix
Netflix采用JavaScript和NodeJS的組合將網站改造成了單頁面web應用。過去,Netflix是一個企業Java技術堆棧的百貨商店,但是在云計算時代,Netflix逐漸將架構從數據中心向云端云端基于服務的架構遷移,將過去鐵板一塊的Java應用打散成大量小粒度的服務。如今Java依然是Netflix的后端動力源,但前端用戶看到的所有內容都來自Node。除了Node,Netflix在技術堆棧中還使用了ReactJS。
二、Paypal
Paypal的web應用平臺也在從Java向JavaScript和NodeJS轉移。PayPal一開始將NodeJS作為原型平臺測試,當發現效率得到極大提升后決定把生產環境也轉移過來。Paypal的第一個NodeJS應用是用戶賬戶總覽頁面,這可是一個流量極大的關鍵功能,保險起見,Paypal的開發團隊用Java平行開發了同樣的賬戶總覽功能,但最終結果表明,JavaScript的開發速度和效率都要高得多。遷移到JavaScript之后,PayPal還發布了一個ExpressJS的開源擴展——KrakenJS,為NodeJS服務器增加了一個額外的安全層。
三、Uber
共享出行公司Uber基于Node.JS分布式web架構構建了其龐大的司機/乘客匹配系統。Uber的GitHub頁面有助于我們了解該公司的關鍵系統的架構。此外,有興趣的讀者還可以查看Uber高級網站可靠性工程師在Youtube上的這段關于Node.js在Uber中的應用的視頻。
四、IBM
作為傳統IT巨頭,IBM對Node.JS的熱情擁抱令人多少有些意外來自IBM的Myles Borins在不久前召開的NodeJS交流會上分享了他們在NodeJS方面的經驗。他說:“2015年10月,我被指派負責Canary in the Gold Mine(CITGM)項目,它是一個冒煙測試工具,可以自動化運行各種NodeJS模塊的單元測試。CITGM非常成功,它找出了NodeJS生態系統和NodeJS內核的各種衰退問題。”
五、微軟
甚至微軟也在擁抱NodeJS,將NodeJS直接集成到Azure云計算平臺,并發布了大量Node相關教程,微軟甚至計劃衍生開發NodeJS的分支,使用微軟的Edge JavaScript引擎替代Chrome的V8來構建微軟自己的NodeJS版本。