封仲淹:Storm 2.0將會基于JStorm,阿里巴巴全程參與

jopen 9年前發布 | 16K 次閱讀 JStorm
 

11月19日,阿里巴巴集團宣布正式 加入Apache基金會 ,并向Apache基金會捐贈開源項目JStorm。JStorm 是一個分布式實時計算引擎。它用Java完全重寫了Storm內核, 并重新設計了調度、采樣、監控、HA,同時對ZooKeeper和RPC進行大幅改良,讓性能有30%的提升, 總體而言,JStorm比Storm更穩定, 更快,功能更強。關于JStorm的具體介紹可以參考 阿里巴巴技術沙龍 中關于JStorm的介紹。

簡單來說,JStorm是基于Storm的二次開發產物,用戶可以無縫將應用從Storm遷移到JStorm,非常方便。JStorm是中國第一個進入Apache核心產品的開源項目,對于中國的開源發展來說意義重大。為了了解JStorm加入Apache基金會后的發展方向,InfoQ記者采訪了阿里巴巴共享事業部高級技術專家封仲淹。

InfoQ:首先恭喜阿里巴巴加入Apache基金會。談談你們和Apache基金會的淵源吧?

封仲淹:但凡寫Java程序的程序員,肯定會知道Apache。Apache在整個開源界都舉足輕重, 像我們熟知的Tomcat、HTTP Server、Hadoop、HBase、ZooKeeper、Hive等等, 太多大家熟悉的頂級項目。可以這樣說,如果沒有Apache基金會,今天絕大部分互聯網公司都會舉步維艱。我們大概去年9月份,和Storm社區在聊貢獻 JStorm的想法,當時Storm社區可能正在猶豫是否要從Clojure切換到Java體系, 但到了2015年1月,社區Storm開始傾向切換到Java體系, 因此和JStorm所做的事情基本一致。

后來雙方開始正式討論怎么合作, 捐獻JStorm就被提上議程。與此同時,JStorm團隊開始全面參與Storm社區的發展, 尤其是Storm內核的設計上,貢獻大量我們自己的經驗,至于下一代Storm 2.0, 基本就是阿里全程參與并基于JStorm。 另外,因為Storm社區的自動化測試非常原始, 阿里巴巴已經有一套完善的JStorm自動化測試程序,我們后期會考慮怎么幫助Storm社區搭建這套自動化測試程序。

InfoQ:JStorm正式成為Apache Storm里的子項目。JStorm將在 Apache Storm里孵化,孵化成功后會成為Apache Storm主干。這個可以解釋下嗎?JStorm有可能成為頂級項目嗎?

封仲淹:現在JStorm已經成為Apache Storm的子項目, 在Apache Storm里面孵化。 但社區的規劃是,準備用Java重寫Storm, 其實這就是JStorm以前干的事情, 因此,雙方在目標上是高度一致的,并且Storm社區在年前就有這個想法,但一直沒有下決心做。這次JStorm捐獻正好觸發了Storm社區的決定, Storm社區正在開發下一代Storm 2.0, 而Storm 2.0 會基于JStorm。

InfoQ:當時為什么要考慮重寫Apache Storm?相比Apache Storm,JStorm有哪些重大優化?

封仲淹:早在2012年春節的時候,阿里就決定重寫Storm,最主要原因是目前Storm內核是Clojure語言,而Clojure語言很難閱讀和實現。而阿里在Storm上應用極多, 對Storm有大量定制或改造需求, 如果繼續沿著Clojure這條路走的話, 我們演化的速度會極慢,完全跟不上我們業務的演化速度。阿里JStorm每2個月發布一個大版本,而社區Storm每半年發布一個大版本, 這就是為什么考慮重寫Storm。

本質而言,相比Storm,JStorm就是Storm的企業版。 今天阿里在JStorm的體量已經世界第一,現在Storm社區碰到的一些問題, JStorm在1年前甚至2年前就遇到并解決了, 這就是為什么JStorm會比Storm更穩定,更快,功能更豐富的根本原因。 至于具體的優化點, 比如Nimbus HA、反壓、監控系統、ZooKeeper重構、資源隔離、類隔離等等特性都是因為這個根本原因觸發的。

InfoQ:社區有人反饋說JStorm文檔比較缺失,這也是很多國內開源項目的通病。你怎么看這個問題?為什么會出現這樣的情況?

封仲淹:JStorm合并到Storm之后,會迅速融入社區的開發,相信文檔缺失的問題會慢慢得到改善。開源項目的開發是很多人協作的過程,除了有人寫代碼,也需要有人去寫文檔,國內現在的開源很大一部分的文檔都是開發者自行補充,開源社區的文檔和代碼一樣重要,也需要大家來參與和貢獻。

InfoQ:加入Apache基金會后,阿里巴巴有什么計劃?有沒有考慮將Dubbo這樣的優秀項目捐贈給Apache?

封仲淹:后續會與Apache基金會下的開源項目深度合作,比如我們正在孵化的RocketMQ項目,希望能盡快孵化成頂級項目。Dubbo也是國內應用特別多的項目,是否能捐獻給Apache,這個需要Apache基金會來做決定。如果Dubbo能捐獻給Apache,那將給開源社區帶來很好的幫助。

InfoQ:國內開源情況可以用『雷聲大雨點小』來形容,你們認同嗎?怎么看國內開源的發展?哪些地方應該加強?

封仲淹:從阿里的角度看,國內的開源發展其實很快,很多開源貢獻者都是默默無聞地投入 ,“雨點”并不小,有很多人都熱愛并投入開源社區做了很多工作。如果說要加強的話,就是公司應該多鼓勵員工向開源社區提交代碼。這方面阿里在國內互聯網公司里做得很不錯。

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!