点击“飞总聊IT”,选择“星标🔝”
后台回复“666”领取资料一份
大约半年前开始,我陆陆续续直接或者间接听到大家对Flink社区,那个被阿里买下来的大数据开源项目的抱怨。抱怨的方式很多。其实上面项目都有抱怨。
只不过对Flink的抱怨很有特色,基本上是两类问题:第一是阿里需要什么就做什么,至于社区里其他人的需求,不重要不搭理不开工,三不原则,第二是阿里的人很容易就把乱七八糟的半成品塞进去,文档也不用。而其他人就很难了,写文档就先写半天。这就出现了不可控的质量问题,和里外有别的标准问题。有熟悉的人和我抱怨,Flink的代码,现在已经被阿里玩坏了。
Flink的开场,是一个励志的故事。2014年的VLDB在杭州举行。这个数据库界最重要的会议之一,这一年发生了很多事情。其中,最重要的事情之一当然是SAP HANA的阶段性总结报告。而同样重要的事情,当属德国教授Volker Markl的表演,宣告Flink的闪亮登场。
Volker Markl早年在IBM研究院供职,后来去了德国做教授。他是最早在欧洲开展MapReduce的计算框架替换工作研究的人之一。应该说也是全世界最早开始做这方面的人之一。溯源起来,和大名鼎鼎的Spark的诞生差不多时候。
可惜的是,Spark在接下来的5年里面一步又一步的大红大紫,教授做的研究,虽然有一个高端大气上档次的名字,(名字我不说了,作为一个考题吧),但是却一点响声都没有。人同命不同,可以说得上是那个时候教授的感受。
2014年很重要,是因为当时的研究团队fock了这个研究项目的代码,开始了另外一个研究工作,这就是后来大名鼎鼎的Flink。和它的祖先相比,Flink聚焦于真正的流计算,有其先天的优势。从某种程度上来说,比起靠batch起家,至今也只能从mini-batch玩到micro-batch的Spark来说,它的计算模型有天然的美感。所以2014年VLDB的时候,教授做报告,我在下面听的是热血沸腾。
流计算不是什么新鲜玩意。在数据库领域可以往前追20年,依然能够看到很多流计算的论文。包括著名的图领奖获得者,杰出的数据库领域的科学家和政治家Michael Stonebraker都对流计算做过相当多的研究。
但是在我看来,流计算的突破性进展始于谷歌的Millwheel。该项目引入的很多概念,尤其是watermarker,从某种程度上,让流计算脱胎换骨,正式成为工业界可行的计算方式。谷歌的人还把这些东西写成了一本书。

当然Flink站在巨人的肩膀上,做出了巨大的贡献。其最核心的贡献是如何在分布式的基础上做snapshot,以便在出现故障的时候可以做故障恢复。该算法堪称经典。
Flink的估时大体上分两部分进展。一方面,其作为先进的流计算引擎,牛皮吹的不是一般的响亮。作为竞争对手的Spark,在一段时间里面不得不布重兵到流计算里面去,先后推出了各种版本的基于batch的伪流计算引擎。
Spark牛逼的在于宣传,一边表示自己的东西其实挺好,用户来说够用了,一边表示竞争对手也就那回事。当然,后面还投了一点兵力去做真的流计算引擎,但是因为局势发展,这块变得不重要起来。所以Spark里面流计算是很混乱的,有各种版本。
接下来的故事大体上分为两部分。一部分是德国人如何继续改进Flink的计算。当初Flink开始的时候,是走了捷径的。简单来说,在计算层,有流计算引擎,有从老项目来的批计算引擎,整个代码去看的话,可以看到截然不同的两坨没什么关系的东西。
另外一部分要从阿里巴巴说起。阿里巴巴搜索团队开始做自己的Flink,由花名为量仔的蒋晓伟带队。Flink的原生代码问题多多,Blink团队就遍地开花,大刀阔斧的改啊改。一段时间内一统阿里内部的所有流计算引擎。
Blink不但在内部大肆开花,对外和Flink的官方团队也眉来眼去的合作,我不知道Flink的创业公司的那些人,当时是怎么看Blink团队的,所谓冷暖自知大概就是这么回事情。
Blink团队自然而然的想吞更多的批计算的事情,目光瞄准了后来对外叫做MaxCompute的ODPS。只不过内部reorg一番以后,ODPS的老大成了Blink的顶头上司。后面发生的事情,大家都能想象了。老大不喜欢下面的人,下面的人也不听上面的,Flink团队受打击,量仔边缘化。老套路。
当然,个人边缘化不影响项目的发展,阿里巴巴大手笔的买下Flink的初创公司,这着实让大家吃了一惊。当时有人看着Spark的商业化,就想是不是Flink也会追随Spark,好好的做商业化呢?一边推一个还不错的社区版,一边推一个高级的100%兼容的商业版。多好,竞争力强,在国内无敌了。这样想的人包括我。
事实上证明,这样想的人,真的是脑袋进水了。Flink被阿里巴巴收购以后,做的最多的事情,是怎么样把那个巨大无比的Blink的codebase给塞进开源的里面去。阿里巴巴如愿以偿做到了。
接下来发生的事情,整个社区都有点看不明白了。巨大的Blink塞进来,很大程度上污染了这个代码。但是并没有足够多的人力投入去修补。而且慢慢的大家发现,凡是阿里巴巴自己需要的功能,都很容易成为高优先级,对外面社区需要的东西,则特别的推进。
不但如此,自己人,那么乱七八糟的半成品随便进代码库,其他人,要写点东西提交进来,老不容易了。我过去几个月内不知道听到多少个人和我抱怨了。可惜我什么都不是,也改变不了什么。
至于让Flink企业化,推出更牛逼的企业版来赚钱这样的事情,更是八字一撇都没有。从阿里收购起到现在的一年多时间里,已经有若干个人直接来和我诉苦,Flink代码被魔改,未来没前途等等等等。

所以吧,Flink这个好端端的产品,不但没有越来越好的走向批流一体,给我的感觉反而越来越不行了。这不连Databricks都不把Flink当回事了。之前还真刀真枪假模假样一起上做流计算,现在那个continuous streaming的东西,Databricks有多久没投人上去好好做了。呵呵。
其实我还是觉得Databricks这样的公司好。做生意,不管开源还是不开源,都要全心全意为人民币服务才对。可惜了Flink这么好的一个东西。
推荐Python大数据人工智能
学习Python大数据人工智能的好地方
飞总聊IT,互联网最新最全的知识和信息的汇聚地。每天给大家提供互联网的干货。粉丝可以发送“666”到后台领取一份学习资料。
扫描二维码加飞总微信号
继续阅读
阅读原文