BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

封仲淹:Storm 2.0将会基于JStorm,阿里巴巴全程参与

| 作者 郭蕾 关注 8 他的粉丝 发布于 2015年11月25日. 估计阅读时间: 6 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

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:国内开源情况可以用『雷声大雨点小』来形容,你们认同吗?怎么看国内开源的发展?哪些地方应该加强?

封仲淹: 从阿里的角度看,国内的开源发展其实很快,很多开源贡献者都是默默无闻地投入 ,“雨点”并不小,有很多人都热爱并投入开源社区做了很多工作。如果说要加强的话,就是公司应该多鼓励员工向开源社区提交代码。这方面阿里在国内互联网公司里做得很不错。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

多么希望dubbo能重新活跃起来! by 李 鹏

目前项目正在使用dubbo做服务治化,还是遇到了不少问题的,很希望阿里能重新为这个优秀的框架注入新的血液!

Storm 2.0 和 Heron有啥关系 by yao huang

会不会有冲突?

对阿里的开源项目,我只能呵呵 by li js

依照马云的做事风格,无利不起早,对阿里的开源项目,我只能呵呵

Re: 对阿里的开源项目,我只能呵呵 by 松贤 探花

真是SB

clojure的未来的呢? by zhou yu

clojure的优点在哪里?

clojure的未来的呢? by zhou yu

clojure的优点在哪里?

Re: clojure的未来的呢? by 东 东

clojure 没有未来, 已经失败了.

JStorm与Storm合并后... by 张 晓庆

JStorm的代码放在了GitHub,阿里发现访问不了了...

摘了clojure的果实,还乱批clojure, 还批不在点子上,人SB不要怪clojure by Lin Pengcheng

摘了clojure的果实,还乱批clojure, 还批不在点子上,人SB不要怪clojure

换了clojure... by 冯 zhong

clojure 这么好的东西竟然被这样低级的借口给换了. 这说明阿里已进入官僚阶段了. 我会尽力坚持clojure.

希望dubbo继续活跃起来 by 王 旭利

希望dubbo继续活跃起来

Re: 换了clojure... by 蒲 雪阳

哎,太悲剧了。clojure优点是成型快,在性能上当然不如Java。阿里人傻钱多,全部用Java重写了。

storm2.0 核心仍为clojure by 冯 zhong

目前storm2.0 已出来了.还是使用clojure位核心的. 改篇文章有误导性.这里友情指正一下. github.com/apache/storm

Re: storm2.0 核心仍为clojure by luo peng

不是说捐给apache了么?怎么在apahce的网站上都找不到。

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

14 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT