写点什么

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

  • 2015-11-24
  • 本文字数:1987 字

    阅读完需:约 7 分钟

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

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

2015-11-24 06:4810086
用户头像

发布了 219 篇内容, 共 141.9 次阅读, 收获喜欢 193 次。

关注

评论

发布
暂无评论
发现更多内容

图解 Vue1.0 响应式系统

前端黑板报

源码分析 Vue Reactive

细说几种内聚

落英亭郎

高内聚 面向对象设计 面向对象思想

UML实践-食堂就餐卡系统

shangyu

极客大学架构师训练营

TiDB原理解析

Chank

Cache类接口隔离设计

石刻掌纹

POJO类中布尔类型为啥不让用isXxx命名

Java课代表

架构师训练营第二周课程感想1

tuuezzy

Java 架构师

软件设计原则作业

梅子黄时雨

极客大学架构师训练营

使用wavm运行wasi wasm程序

Foliage

二叉查找树的解读和实现

ytao

Java 数据结构

【玩转写作社区】如何让专业编辑青睐你的文章?被推荐置顶?

InfoQ写作社区官方

写作平台 InfoQ 玩转写作平台 热门活动

奈学教育《大数据架构师》课程大纲(1)

古月木易

大数据

游戏夜读 | 中国的游戏制作人

game1night

《实现领域驱动设计》拆书稿 DDD入门 & 领域、子域和限界上下文

三界

架构 领域驱动设计 DDD

实时即未来?一个小微企业心中的流计算

Apache Flink

大数据 flink 流计算 实时计算

数仓大法好!跨境电商 Shopee 的实时数仓之路

Apache Flink

大数据 flink 流计算 实时计算

如何看待年仅 28 岁的程序员实现财务自由,宣布从字节跳动退休?

非著名程序员

程序员 自由职业 程序人生 财富

高承实:区块链将对哪些场景赋能,如何赋能?

CECBC

区块链技术 产业 赋能

奈学教育《大数据架构师》课程大纲(1)

奈学教育

大数据

XSKY发布S3 Console,助力企业轻松玩转非结构化数据可视化管理

XSKY星辰天合

记录一下,我的记录之道

非著名程序员

学习 程序员 提升认知 工作效率

奈学教育《百万架构师》课程大纲(1)

古月木易

极客大学架构师训练营

奈学教育《百万架构师》课程大纲(1)

奈学教育

架构师

依赖倒置总结

石刻掌纹

【面向对象】—依赖倒置、接口隔离

不二架构

极客大学架构师训练营 依赖倒置 接口隔离原则

第二周作业

Diven

使用 Python 制作酷炫多彩的 Jenkins 插件词云图

donghui

jenkins wordcloud

【摘】Git-从零单排 04期

卡尔

架构师-第二周

师哥

Flink on Zeppelin (4) - 机器学习篇

Geek_8o1tcx

大数据 flink 学习 流计算 Zeppelin

Flink 在快手实时多维分析场景的应用

Apache Flink

大数据 flink 流计算 实时计算

封仲淹:Storm 2.0将会基于JStorm,阿里巴巴全程参与_开源_小盖_InfoQ精选文章