红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

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

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

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2015-11-24 06:489862
用户头像

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

关注

评论

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

干货分享!用心满满:面试前必知必会的二分查找及其变种

比伯

Java 编程 架构 面试 计算机

研发管理:敏捷研发下周报的价值

云原生实验室

云原生 敏捷 研发管理 周报

基于RTMP数据传输协议的实时流媒体技术研究(论文全文)

程序员小灰

音视频 ffmpeg 流媒体 RTMP webrtc、

InfoQ 内容推荐位资源限时开放

乐白

InfoQ 资源

全球熵ETV系统APP开发|全球熵ETV软件开发

系统开发

架构探索:事务处理一

而立斋

WebRTC SDP 详解和剖析

阿里云视频云

阿里云 音视频 WebRTC 视频云 流媒体传输

CloudIDE插件开发实战:教你如何调试代码

华为云开发者联盟

ide 开发 Cloud

mongodb 源码实现系列 - command 命令处理模块源码实现二

杨亚洲(专注MongoDB及高性能中间件)

MySQL mongodb 分布式数据库 源码刨析 分布式数据库mongodb

三分钟看懂快速开发,常用软件快速开发平台速览

Marilyn

敏捷开发 快速开发 企业开发 企业应用

深度学习在物理层信号处理中的应用研究

华为云开发者联盟

学习 模型 物理层

构师训练营 - 第七周学习总结

joshuamai

告别“效率内卷化”,华为用一年时间让职场人支棱起来

脑极体

鹅厂大佬亲身经历证明,一周上线百万级并发系统

Java架构师迁哥

为什么阿里人能够快速成长?看完他们Java架构进化笔记,我秒懂!

Java架构追梦

Java 学习 架构 面试 成长笔记

架构师训练营第 1 期 第 11 周作业

李循律

极客大学架构师训练营

理解Python协程的本质

Justfly

Python 协程 异步 Async 异步编程

揭秘 VMAF 视频质量评测标准

阿里云视频云

视频 图像处理

流动性挖矿系统APP开发|流动性挖矿软件开发

系统开发

工商银行基于 Dubbo 构建金融微服务架构的实践-服务发现篇

阿里巴巴云原生

云原生 dubbo 中间件 案例分享 CloudNative

云原生架构:容器资源限制及资源可见性

云原生实验室

云原生

构师训练营 - 第七周课后练习

joshuamai

深入灵魂的考验,每行注释都是灵魂的单例模式,源码+实例降临

小Q

Java 学习 架构 面试 设计模式

anyRTC 联合 vInClass 打造在线教育上课模式

anyRTC开发者

音视频 WebRTC 在线教育 RTC

5G多输入多输出技术,到底是个啥东东?

华为云开发者联盟

5G 输入 输出

多活/多机房的几种实现方式与重点

Justfly

高可用 跨机房 数据同步 异地多活容灾

《Web自动化》基础知识脑图

清菡软件测试

Web

前端开发还可以这么玩?元数据实践分享

华为云开发者联盟

大前端 元数据 组件 ROMA 业务流

拆解增长黑客之实战(一):获客与激活

懒杨杨

增长 产品运营

王者级别的Java多线程技术笔记,我愿奉你为地表最强!

Java架构师迁哥

Linux角度仰视Goroutine的GMP

ninetyhe

Java Linux 多线程与高并发 Go 语言

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