阿里巴巴的大数据之路:JStorm与Blink的发展史

作者:CQITer小编 时间:2018-12-18 21:44

字号

最近在学习谷歌工程师的新书:Streaming Systems,收益良多。但一时之间也不知道从何去总结。想到了自己在极客时间专栏写的一篇关于流系统的文章。于是征求了极客时间的同意把这篇文章发出来。当然里面有些内容已经有时过境迁的感觉了。自己对流系统的最新理解,留待想法更成熟以后再写吧。

在阿里巴巴的发展过程中,流数据处理一直是业务中很重要的一部分。和数据分析平台不一样,阿里巴巴内部的流数据处理平台有很多套。

在阿里巴巴的流数据发展历程里,有两个著名的流引擎JStorm和Blink依然还在产生着深远的影响。这种影响并不仅仅在阿里巴巴集团的内部,并且扩散到了全球的开源世界。比起其他用于集团内部的流计算引擎,它们更被人所熟知,今天我们就来重点分析一下这两个流计算引擎的发展。

阿里巴巴的大数据之路:JStorm与Blink的发展史

我们先来说说Storm和JStorm

Storm是被Twitter收购以后才开源出来的流计算引擎。阿里巴巴集团是在封仲淹带领的团队下才开始使用Storm的。

我在之前讲Storm的时候说过,这种流计算引擎是用一种比较小众的函数式编程语言Clojure开发出来的。国内的Clojure专家屈指可数,因此阿里巴巴使用Storm时遇到了很多的问题。

毕竟有些时候需要去增加或者改变一些功能,而这也就意味着需要对系统进行改进或者定制,但是Clojure语言十分小众,懂这种编程语言的人尚且不多,更不用说专业去修改了,所以,这些都决定了这种工作非常难以展开。

鉴于Storm十分难以改进和定制,又是当时开源世界里最成熟的流计算引擎。于是,从2012年开始,阿里巴巴决定用Java对Storm进行重写,这就是JStorm项目的由来。

按照封仲淹的观点来说,JStorm就是Storm二次开发的产物。它可以让用户无缝地从Storm迁移到JStorm。

阿里巴巴选择用Java进行开发,这让开发进度明显加快。而且,源于阿里巴巴的应用规模、对数据实时性等种种要求,团队对JStorm也进行了很多的优化。可以这么说,JStorm的出现,解决了Storm存在的很多问题。

2015年11月19日,阿里巴巴集团正式向Apache基金会捐赠了JStorm。JStorm成为了Apache Storm下面的一个子项目,并在Apache基金会里继续孵化。

那段时间,JStorm的作者们对于开源表现出非常大的积极性。封仲淹那时也表示,整个社区的Storm 2.0会基于阿里巴巴的JStorm,用Java语言进行开发。

然而世事无常,JStorm在Apache的孵化器里待了快两年,依然没有成为Apache基金会的顶级项目。而Storm2.0这个以阿里巴巴JStorm为主的开发项目更是连影子都没有见到。

对于此事,我非常好奇,但并不真正知晓其答案。只是有次听到一个Apache圈内人士聊到过,说阿里巴巴和Storm社区之间似乎有了矛盾。

再来说说Flink和Blink

Flink是德国柏林工业大学设计的一个流计算引擎,现在是Apache的顶级开源项目。Flink这个引擎从模型的角度来看是非常先进的,但是在工程实现上却相对薄弱一些。

Flink也被阿里巴巴集团用到了自己的生产环境中,项目的领导者是曾经在微软SQL Server组以及Facebook都待过的数据库专家蒋晓伟(花名“量仔”)。

他在接受采访时表示,在Spark和Flink这两个引擎中,Flink的设计理念更为先进一些,也更符合阿里巴巴对流计算引擎的要求,这恰恰也是他的团队选择这个引擎的原因。

当然,阿里巴巴集团并没有把Flink拿来直接使用,而是对Flink进行了大量的、全方位的改造,不仅提高了Flink的性能,而且改进了不少功能。这个项目在阿里巴巴内部叫作Blink,是阿里巴巴集团内部很多业务的流处理引擎,其重要地位可见一斑。

Blink目前还未开源,但在与社区的合作上,Blink团队和Flink的开发者之间保持了更为友好的关系。Flink的开发团队多次在公开场合感谢Blink团队对Flink项目的贡献,Blink团队也把很多功能都反馈到了Flink的代码库里。

为什么JStorm和Blink同为由阿里巴巴主导的,针对Apache已有项目改良的产物,却在和开源社区的互动以及对开源社区的影响方面有着不同的结果。我想,这其中大概有几方面的原因。

首先,Flink是后起之秀,又来自德国,还是从学校里出来的。在Flink流进市场的时候,北美的主要互联网企业要么已经使用了自研的流计算引擎,要么已经基于开源的流计算引擎开展了业务,不太可能短期内更新流计算引擎到Flink,所以Flink本身就需要大客户的支撑,阿里巴巴的出现恰逢其时。

责任编辑:CQITer新闻报料:400-888-8888   本站原创,未经授权不得转载
关键词 >>大数据 JStorm Blink
继续阅读
热新闻
推荐
关于我们联系我们免责声明隐私政策 友情链接