HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

封仲淹: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:489973
用户头像

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

关注

评论

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

☕【Java技术指南】教你如何使用【精巧好用】的DelayQueue(延时队列)

洛神灬殇

Java 延迟队列 8月日更 DelayedQueue

JavaScript代码片段学设计模式

devpoint

设计模式 工厂模式 8月日更

明道实施与需求的耦合

明道云

Druid 集群方式部署 —— 配置 Zookeeper 连接

HoneyMoose

spring的循环依赖

卢卡多多

spring aop 8月日更

在线邮箱地址提取工具

入门小站

工具

两个小女孩

箭上有毒

8月日更

超全激活函数学习总结!!!

Shirakawa

神经网络 机器学习 算法 激活函数

元数据管理服务分析报告

漫长的白日梦

数据湖 AWS 元数据

【前端 · 面试 】HTTP 总结(六)—— HTTP 版本区别

编程三昧

面试 HTTP 8月日更 http版本

Druid 集群方式部署 —— 配置调整

HoneyMoose

我受够WIN10了!!!

Jackpop

yyds,Win10真香!!!

Jackpop

docker编排参数详解(docker-compose.yml配置文件编写)

xcbeyond

Docker 容器 8月日更

DataFrame数据创建:10种方式任你选

Peter

Python 数据分析 pandas

linux中常见工具安装问题集锦

liuzhen007

8月日更

架构训练营 模块4作业

sophiahuxh

字节跳动旗下大力教育大批量裁员,赔偿 n+2

hanaper

前端之数据结构(三)集合和字典

Augus

数据结构 8月日更

Linux中buff-cache占用过高解决方案

入门小站

Linux

分布式认知工业互联网平台如何赋能企业数字化转型?

CECBC

在明道云上搭建的应用维护管理的几点建议

明道云

网络攻防学习笔记 Day97

穿过生命散发芬芳

态势感知 网络攻防 8月日更

有状态流处理简介(一)

Databri_AI

flink 批处理 状态

【设计模式】桥接模式

Andy阿辉

编程 后端 设计模式 8月日更

Druid 集群方式部署 —— 启动服务

HoneyMoose

Pandas系列_DataFrame数据筛选(上)

Peter

Python 数据分析 pandas

深入了解NIO底层原理

陈皮的JavaLib

Java 面试 nio 8月日更

浅谈限流组件的应用和设计原则

xiaoxi666

redis sentinel 分布式限流 redisson redis-cell

Druid 集群方式部署 —— 端口调整

HoneyMoose

Druid 使用 Kafka 数据加载教程——下载和启动 Kafka

HoneyMoose

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