阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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

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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

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

关注

评论

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

基于云的技术架构设计实践-第4篇

hackstoic

运维 云原生 签约计划第二季 业务运维

架构训练营-模块一作业

伊静西蒙

Camtasia混音教程

淋雨

Camtasia

MySQL锁的分析实战

卢卡多多

28天写作 MySQL 数据库 锁分析 签约计划第二季 12月日更

Python Qt GUI设计:如何调整组件布局比例?(拓展篇—1)

不脱发的程序猿

Python PyQt GUI设计 上位机 调整组件布局比例

MySQL性能测试之insert&delete【FunTester框架】

FunTester

MySQL 性能测试 测试框架 FunTester delete

浅谈MySQL中的游标

麦洛

MySQL 游标

AfterShip APP 项目数据驱动的演进

AfterShip

数据库 数据 数据驱动

ReactiveNetwork库时如何实现网络状态监听的

Changing Lin

12月日更

如何避免产品Backlog的这七个常见错误

Scrum中文网

Scrum 敏捷开发 研发管理 需求管理 内容合集

和12岁小同志搞创客开发:手撕代码,做一款密室自动门

不脱发的程序猿

少儿编程 传感器 智能硬件 创客开发 Arduino

Android C++系列:Linux网络(一)网络模型

轻口味

android 28天写作 12月日更

大湾区的“科创土壤学”

脑极体

底层逻辑:变化背后的不变

石云升

读书笔记 28天写作 12月日更

WAVE SUMMIT+2021为开发者准备的“小心思”,你get到了吗

科技热闻

开源demo| 智慧协同让企业更便利

anyRTC开发者

音视频 智慧协同 开源demo 远程协助 远程勘查

和12岁小同志搞创客开发:手撕代码,做一款温湿度检测器

不脱发的程序猿

少儿编程 智能硬件 温度传感器 创客开发 Arduino

新思科技推动DevSecOps落地,帮助企业走出“安全孤岛”

InfoQ_434670063458

DevSecOps 新思科技 软件安全

2022年,RPA的5大发展趋势

金小K

区块链 AI RPA 机器人流程自动化 人工智能「

国产分布式数据库StarDB核心技术大揭秘二:智能运维管控

京东科技开发者

数据库

库存管理系统到底有什么作用?

低代码小观

CRM 企业管理系统 ERP 库存 CRM系统

年后跑路第一战,从Java泛型学起!

麦洛

Java Java泛型

以容器的方式运行极狐GitLab Runner

极狐GitLab

Docker runner 极狐GitLab

消费医疗门诊的数字化运营

boshi

随笔杂谈

五分钟,让你明白MySQL是怎么选择索引《死磕MySQL系列 六》

咔咔

MySQL MySQL高级 索引选择而

华为云联合HarmonyOS重磅发布智联生活行业加速器

华为云开发者联盟

华为云 智联生活

手把手教你实现网页端社交应用中的@人功能:技术原理、代码示例等

JackJiang

即时通讯 IM web socket

WePack —— 助力企业渐进式 DevOps 转型

CODING DevOps

统一管理 WePack 制品管理 研发构建产物 安全管控

你知道敏捷团队的迭代目标达成率该是多少吗?

Scrum中文网

Scrum 敏捷开发 研发管理 内容合集 迭代管理

国产分布式数据库StarDB核心技术大揭秘 一:内核分解之数据分片

京东科技开发者

数据库

作业1

施正威

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