當前位置:
首頁 > 知識 > 支撐雙11每秒17.5萬單事務 阿里巴巴對JVM都做了什麼?

支撐雙11每秒17.5萬單事務 阿里巴巴對JVM都做了什麼?

有人說,馬雲不如馬化騰和李彥宏懂技術,因此,阿里巴巴的技術不行。但馬雲說,正因為自己不懂技術,所以阿里巴巴的技術才是最好。你可不要以為馬雲這話是吹牛或是語言藝術,在許多技術領域,阿里巴巴確實已經在領跑。

2017年,阿里巴巴王剛、吳翰清同時入選MIT TR 35創中國互聯網企業先河。

2016年雙11,核心應用容器化,幾十萬容器支撐175000單每秒的下單峰值,阿里巴巴再次刷新自己的記錄,阿里雲打破CloudSort世界記錄,將100TB數據排序的計算成本降低到1/3。同時自研AliFlash大量部署;

2015年,Sort Benchmark2015年排序競賽中,飛天用377秒完成100TB的數據排序,打破四項世界紀錄;

2014年,OceanBase 0.5版成功用於支付寶核心交易系統。智能服務平台初步完成建設,雙11大促承載8成客戶服務壓力;

2013年,完成去IOE;飛天5K項目完成,突破5千計算集群規模,阿里雲成為世界上第一個對外提供5K雲計算服務能力的公司;

事實上,阿里巴巴在技術上取得的成就遠遠不止於此,在Java領域,最近就有這樣一件大事。

JVMLS 2017在原Sun總部召開!這一種情懷!

7月29日,美國加州Santa Clara,原Sun公司總部Auditorium building,聚集了一大批全球最頂級的Java專家,不僅有JVM架構師John Rose,就連Java之父James Gosling也悉數現身會場,他們在做什麼?

支撐雙11每秒17.5萬單事務 阿里巴巴對JVM都做了什麼?

▲Sun公司總部Auditorium building

其實,這是JVM圈子一年一度的頂級大會JVM Language Summit(JVMLS) 2017的現場。稱之為頂級會議,不是因為大咖多,而是因為,這是一個決定Java技術未來走向的重要會議,影響著千萬的Java開發者。

眾所周知,Java以它突出的優點,被大多數程序員所喜愛。毫不誇張的說,全世界的軟體和互聯網公司絕大多數都是Java用戶。憑藉其強大的生態系統和龐大的代碼庫,Java多年來一直在牢牢的霸佔著TIOBE編程語言榜首的位置。

阿里巴巴驚現JVMLS 2017大會演講台

今年的JVMLS大會,正好走過第10個年頭,與以往不同,這次老魚在大會Topic List中居然破天荒的看到了來自中國的演講主題《Optimize JVM at Alibaba for e-commerce apps running on 100,000+ servers》。

支撐雙11每秒17.5萬單事務 阿里巴巴對JVM都做了什麼?

▲JVMLS大會演講台上首次出現中國公司的演講主題

這讓老魚著實有些意外,雖然每年國內巨頭公司並不乏派人蔘會,但能夠站在JVMLS大會演講台上的,阿里巴巴絕對是第一個。要知道JVMLS大會並非水貨大會,靠給錢或者刷臉想演講肯定是不行的。想要有演講資格,那得靠一流的Java技術水平和頗高的貢獻值。

阿里巴巴與Java的故事

那麼,在Java領域,阿里巴巴又有哪些成就和貢獻?在好奇心驅使下,老魚在網上詳細搜索了一番,不查不之知道,一查還真嚇一跳。

說到阿里巴巴在技術上最矚目的成就,大部分人首先會想到雙11。沒錯,從2009年雙11每秒支持400單,到2016年,支撐每秒175000單,阿里巴巴一次又一次的刷新著自己創造的世界記錄。

但鮮為人知的是,支撐雙11這一世界上高複雜、高並發的電商系統背後最大的功臣其實是Java。

2004年,是一個轉折。阿里巴巴從PHP語言轉換成了Java語言,如今阿里基本上全線系統都是基於Java編寫的,如企業分散式應用服務(EDAS)、分散式關係資料庫(DRDS)、分散式消息服務(ONS)等等。

數據顯示,阿里巴巴目前擁有著世界上幾乎是最大規模的Java應用集群, Java代碼量上億,位居全球首位,當之無愧的Java最大用戶。

如此大的Java應用規模,讓阿里巴巴有機會通過豐富的業務場景試驗,迭代式的創新,將還在象牙塔式的實驗環境中的前沿Java技術應用於真實的生產環境。如雙11這般大規模的Java實踐經驗,也是亞馬遜、微軟,Google等國外巨頭所不具備的。

Alibaba JVM的三大技術創新

對於阿里巴巴在Java領域的技術進展和創新,以往這方面披露的材料很少,不過從此次大會上,阿里巴巴的演講中,我們還是能獲知一絲端倪。

支撐雙11每秒17.5萬單事務 阿里巴巴對JVM都做了什麼?

▲阿里巴巴/螞蟻金服的JVM 架構師李三紅

演講者是來自阿里巴巴/螞蟻金服的JVM 架構師李三紅,不僅攜Alibaba JVM首次在大會上亮相,還分享了阿里巴巴結合自己的業務特點,在HotspotTM JVM上的開發成果。

Alibaba JVM了解的人可能不多,因為是首次亮相,老魚這裡簡單科普下。正是由於廣泛使用了Java技術,阿里巴巴最終走上了自己的JVM實踐之路。但這並不讓人意外,因為國際上早有先例,如Twitter也有JVM的定製優化實踐。

最早從2010年,阿里巴巴就開始了基於OpenJDK6的JVM定製優化工作,這也是國內第一個優化、定製且開源的伺服器版Java虛擬機。2015年開始,阿里巴巴JVM團隊開始著手在OpenJDK8進行優化和定製工作,力求在穩定性,性能優化,以及技術前瞻性方面,滿足阿里巴巴,螞蟻金服,以及菜鳥快速發展的業務需求。定製的版本被命名為AJDK(Alibaba JDK),目前淘寶、天貓,螞蟻,菜鳥,幾乎所有的核心應用都從Oracle JDK切換到了AJDK上,並經過了雙11的考驗。

本次大會上,李三紅重點呈現了Alibaba JVM三個方面技術創新:

  • Containers Inside JVM

  • Wisp協程

  • JWarmup

事實上IBM,Waratek最早在2010年就開始嘗試多租戶JVM技術,但是只有技術本身,鮮有應用。基於多租戶的資源隔離技術在阿里巴巴找到了應用的場景落地。在多個應用單元共享JVM實例的情況下,Alibaba JVM在共享的JVM內部,為每個應用單元創建一個虛擬的Container, 用於管理應用單元的Heap, CPU等關鍵資源的使用,以確保多個計算單元的安全運行。

李三紅在接受老魚採訪時表示:「如果沒有我們的嘗試,Johannes Kepler University(JKU) Linz在HotSpot TM JVM 上的協程實現,或許要在相當長的一段時間被束之高閣。Alibaba JVM的Wisp協程技術,基於JKU 的協程實現,在上面做了大量的創新性工作,包括協程調度演算法,JVM鎖機制改造等等。正常的Java應用可以在幾乎不改任何代碼的情況下,「透明」地使用協程技術,獲得免費的性能午餐。目前,Wisp協程技術已經被核心電商應用所使用。通過這項技術,阿里巴巴把JVM的性能提高10%+。」

JWarmup也是同樣如此。Warmup問題一向是Java應用的老大難問題,Azul的商業版JVM, Zing實現了ReadyNowTM來解決這個問題。JWarmup類似於ReadyNowTM,不過是完全基於OpenJDK實現。通過JWarmup技術,阿里巴巴解決了大規模Java應用部署情況下CPU被編譯拖累的問題。

JVM架構師John Rose高度評價阿里貢獻

而正是阿里巴巴這種結合業務場景的技術創新,受到了大會頂級Java專家JVM架構師John Rose的高度評價,John Rose在OpenJDK Open Source Collaboration部分總結中表示,感謝Google,阿里巴巴在OpenJDK上的持續投資,以及做出的不可思議的工作,希望持續通過OpenJDK進行合作。

據了解,該合作包含但不限於通過OpenJDK社區, 與Oracle一起推動Continuation和Coroutine技術在Java 語言的標準化。這一部分是Wisp協程技術依賴的基礎與前提,Oracle希望看到Alibaba JVM在這部分的改動。

Alibaba JVM已經落地的技術,JWarmup等,Oracle建議通過提Java Enhancement Proposal (JEP) 的方式,進入標準OpenJDK實現。包括Java Language Architect, Brian Goetz, Oracle Runtime Lead, Karen, 以及C2 Compiler Lead, Vladimir Kozlov等,對JWarmup表示了極大的興趣,並且非常希望阿里通過OpenJDK,可以將JWarmup技術貢獻到社區。

Alibaba JDK追求的目標是「The Best Java Foundation for Cloud」。這話是李三紅在接受採訪時,讓老魚印象最為深刻的一句話,放在文章最後老魚覺得極為合適,因為這句話非常清楚的給出了Alibaba JDK的定位及價值。Alibaba JDK的願景是為雲計算提供高性能的JDK版本,不僅服務好包括淘寶,螞蟻,菜鳥等內部客戶, 更希望覆蓋和服務好阿里雲上所有的Java客戶。

李三紅最後還強調,根植於大規模的,在電商,金融,物流領域豐富的Java應用場景實踐, Alibaba JVM希望在更多的技術領域,諸如Garbage Collector(GC),大規模分散式環境下的Java計算等方面帶來技術性突破。

這不得不讓人感嘆,相比當下眾多浮躁的企業,只要能保證上線無bug就行的得過且過的態度, 阿里巴巴對技術的執著追求,就顯得尤為難得。

當然,正確的投入勢必會帶來豐厚的回報,正是阿里巴巴在JVM方面的不斷投入,也才有了今天我們看到的成功雙11,也才有了今日阿里巴巴登台JVMLS並獲得國際社區認可,老魚想這或許就是阿里巴巴的成功之道。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT168企業級 的精彩文章:

雲IDE流行排行榜發布,Cloud9奪冠!
斐訊開啟大數據之門 積極部署數據中心助力計算無限價值
Apache MADlib成功晉陞為Apache頂級項目!
科技界大牛11次提醒人類:人工智慧或接管世界!

TAG:IT168企業級 |

您可能感興趣

到底是什麼在支撐雙流15000元/平的房價?