1月28日,阿里云宣布将旗下的计算王牌Blink开源给社区,消息一出引起了业界一阵热议。
data Artisans(Flink创始公司) CTO Stephan Ewen表示,“阿里巴巴是Flink最大的贡献者,很高兴阿里能将内部优化的Flink版本开源给社区,让开发者享受到更先进的计算能力。”
据了解,Blink由当下最受欢迎的实时计算技术Flink改造而来。与此同时,阿里为Flink社区贡献近20万行代码改动,而这些改进也将计算能力推向了巅峰,计算延迟降低到人类无法感知的毫秒级,并且可以实现每秒17亿次的处理能力,目前还没有哪家企业做到这一水平。
据悉,阿里巴巴集团内部核心业务全部用上了Blink,例如ET城市大脑实时计算着杭州1300个信号灯路口、4500路视频,保障着交通动脉的通畅;淘宝、天猫每天为数亿用户展现实时的“专属”页面。
企业已迈进实时计算时代
数据是各行业企业的核心资产,如何应对指数级增长的数据一直都是学术界和工业界关注的焦点。过去十余年,工业界经历了多个技术的迭代。谷歌最早发布的 GFS、BigTable、MapReduce 三篇论文开启了大数据计算的篇章,但早期诸如MapReudce之类的计算技术都是离线计算,即只能针对海量数据进行定时计算,使用场景也较为有限;2009年, 随着Spark项目诞生于伯克利大学的AMPLab实验室,让数据实时处理变成可能;但谁也没意料到,2014年诞生的Flink真正让“实时计算”发挥到了极致,并成为最受欢迎的开源项目之一。
毫无疑问,离线计算依旧有其发挥空间,但实时计算的应用场景正在不断扩大。例如,对时效性要求极高的金融交易场景里,风控系统如果不能实时观察每一个账户的行为动态,就可能因为1秒的延迟遗漏风险,无法阻断危险交易,造成消费者损失。从2010年谷歌决定弃用MapRduce可以看出,实时计算已是大势所趋。
目前,全球顶尖的科技公司都在积极布局实时计算技术,其中Flink和Spark是两大主流的技术方向。二者看似类似,但两者有本质的区别,Spark更侧重用批来模拟流的离线计算理念,而Flink则完全相反。
“从技术发展方向看,用批来模拟流有一定的技术局限性,并且这个局限性可能很难突破。而Flink基于流来模拟批,在技术上有更好的扩展性。”这也是阿里、Uber、Netflix等公司选择这一技术方向的主要原因。
Flink 已经被业界公认是最好的流计算引擎,然而 Flink 的计算能力不仅仅局限于做实时计算,其似乎走得是一条全能的技术路线。在2018年12月举行的Flink Forward大会上,Stephan指出Flink一方面需要朝着离线方向发展,实现批流融合大数据计算能力,另一方面也需要朝着更加实时在线方向发展。
技术的完整性也让越来越多的企业开始选择Flink。据第三方调查报告显示, 2018年,Flink的采用量增长了125%,是过去一年大数据和 Hadoop 生态系统中发展最快的技术。