阿里云重磅押注的实时计算到底是什么?

栏目: 后端 · 发布时间: 5年前

内容简介:【编者按】仅仅一个字母的差异,Flink和Blink到底有什么区别?详情见下文。文章转载自“科技郑能看”,作者郑凯,经亿欧编辑发布,供业内人士参考。

阿里云重磅押注的实时计算到底是什么?

【编者按】仅仅一个字母的差异,Flink和Blink到底有什么区别?详情见下文。

文章转载自“科技郑能看”,作者郑凯,经亿欧编辑发布,供业内人士参考。

“一眨眼,一步望,一擦肩”,在麻花舞台剧《那年的梦想》当中有这样一首原创插曲。形容了一瞬回眸,眨眼之间,往事的一幕幕就凝结在了这个瞬间。

这个如此感性的情景,如果用理性的逻辑来看,就是阿里巴巴当初做“Blink”的思维方式:一个眨眼的瞬间,所有流动的数据会凝结出一个结果。而千千万万个“Blink”所形成的结果,就驱动了整个阿里双11巨大的数据应用场景。

眼下,这个充满情怀的“Blink”,作为Flink中最有场景化支撑的版本,被阿里巴巴宣布开源。

“Blink”就像是一见钟情的瞬间

之所以用这么感性的开场白引入,是因为Blink在我眼里本身就像是情人之间的目光。一见钟情的含义,是那一个瞬间,感觉到了爱的味道,它不能有延时,有了延时就意味着过度的思考,那种瞬间萌发的情感必然大打折扣。

这就是实时计算的魅力。

到底什么是实时计算?这本身就是一种时间复杂性较低的计算,它有别于传统的计算方式,不会把数据按照一定的时间间隔保存下来,再进行计算,及时性更强。

举个简单的例子,很多电商遭遇到被薅羊毛的事件。如果是传统的计算模式,当某个流程出现问题后,在当下无法反馈数据,就容易被薅羊毛,苦果子只能自己咽下去。再比如一些互联网金融产品,很多黑客盯着的就是在数据不对称的时间差,如果采用的是实时计算,将这种延迟降低到毫秒级,就会降低诸多风险。

从技术的维度,其实 有两种实时计算的体系:Flink和Spark

Flink是一个高效、分布式、基于 Java 实现的通用大数据分析引擎,而Spark是一种快速、通用的计算集群系统。这两者都支持实时计算,且都可基于内存计算。但Spark其实是伪实时的分片技术,只能按每秒分片技术,不能每条数据都实时技术,而Flink则没有这个局限。

Spark的技术理念是基于批来模拟流的计算,而Flink则完全相反,它采用的是基于流计算来模拟批计算。阿里巴巴认为,用批来模拟流有一定的技术局限性,并且这个局限性可能很难突破。所以决定用Flink做一个统一的、通用的大数据引擎作为未来的选型,这就是现在的Blink。

从市场发展的情况看,阿里巴巴和腾讯都已经完全拥抱了Flink;美团、滴滴和字节跳动(TMD)三家新兴互联网企业在实时计算场景也都已经以Flink作为主流技术方向开始建设:美团的实时计算集群也已经突破4000台规模,字节跳动的Flink生产集群规模更是已经令人惊讶的已经超过了1w台规模。

阿里帮助Flink挑战技术巅峰

仅仅一个字母的差异,Flink和Blink到底有什么区别?

据了解,Flink早期起源于德国柏林工业大学的一个研究项目Stratosphere,并于2014年4月捐献给Apache软件基金会,同时重新定位品牌为Flink,经过8个月孵化期,在2014年12月成功从Apache软件基金会毕业,成为Apache顶级项目。

而阿里巴巴与Flink的结缘则源自2015年,当时阿里是全球第一批使用Flink做大数据计算引擎研发的公司,阿里确定了Flink方向是没错的,并把这个内部版本取名blink,这就是英文眨眼的意思:”一眨眼,所有东西都计算好了!

据说在2016年,阿里和DA的创始人Kostas和Stephan在当年的Hadoop Sumit大会上做了唯二的两场Flink演讲。Kostas主动联系了阿里,希望能用团队研究的成果影响社区。当时阿里的负责人深受感动,“从那时候开始就觉得,我们不仅得把阿里内部的业务做好,还要为Flink 社区做贡献,把Flink 社区做好。”就这样,阿里跟组织“接上了头”,成为了Flink社区的核心成员,也成为Flink后来欣欣向荣的关键。

实际上,Flink是一个典型以来由社区贡献的开源项目。和 Linux 和OpenStack类似,Flink并不是一套可以直接应用的组件,它必须依赖社区成员代码贡献,并进行版本迭代,去解决各种各样的难题。

比如最初的Flink因为缺乏大规模计算的场景,只能应用于小流量互联网场景的数据处理。直到阿里巴巴决定所有的业务,包括阿里巴巴所有子公司都采用了基于Flink搭建的实时计算平台之后,才是Flink展露头角的开始。

每年双11,阿里总部大屏幕上显示实时成交数字,其背后就是依赖Flink技术。

这就是阿里巴巴在技术视角上的过人之处,2015年时放弃了当时相对主流的Spark,而将Flink引入团队研发,并直接引入到阿里全线业务,从而用场景优势拓展了Flink技术栈前进空间。

客观的说,Blink的成功应用,很明显就是当下Flink的最高成就。

从具体的应用情况来看,目前阿里巴巴集团内的核心业务已经全部用上Blink,并且可以实现毫秒级的延迟情况下,每秒钟处理上亿次的消息或者事件。2018年双11期间Blink实现了每秒处理17亿次事件的能力。除了技术大考双11之外,ET城市大脑实时计算着杭州1300个信号灯路口、4500路视频,保障着交通动脉的通畅。

所以,Flink和Blink的关系就一目了然了。Blink脱胎于Flink,而Flink因Blink拓展了应用场景,变得伟大。

推动开源,进而推动实时计算

阿里云的业务都是技术导向的,阿里云的技术路线都是从业务的视角出发,并不会预热开源或是闭源。

所以,Blink的正式开源本身也意味着阿里云对开源世界的态度是积极的。

以Flink为例,阿里巴巴最近几年对Apache Flink社区进行了持续大力的投入,贡献超过15万行代码,主导建立了Flink China中文社区,加速Flink在国内的生态建设。

可以确定的是,在未来Blink并不会成为另外一个项目,会成为Flink的一部分。阿里巴巴会和Data Artisans合作推动Flink社区的发展,改造后的Blink逐步回馈给Flink,这次开源是为了更好更快地推动Flink的发展。

从全球客户应用的角度看,Uber、Netflix等大企业都已经用上了Flink,还有更多等地区性公司。还有一些独特的地区性公司,例如全球第二大B2C(business to consumer,企业对顾客电子商务)在线零售商Otto、欧洲领先的在线时尚平台Zalando公司,以及法国第三大移动通信运营商布衣格电信(BouyguesTelecom)都是Flink客户名单当中的典型。

客观评价,Blink做到了源于开源,而反哺开源。开源并不是目的,更不是结果,而是推动技术标准化和技术与场景结合的方式。所以,阿里巴巴的目的是继续推动Flink社区的发展,让Flink在全世界大规模使用,并借此推动实时计算的普及和落地应用。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Java语言精粹

Java语言精粹

Jim Waldo / 王江平 / 电子工业出版社 / 2011-6 / 39.00元

这是一本几乎只讲java优点的书。 Jim Waldo先生是原sun微系统公司实验室的杰出工程师,他亲历并参与了java从技术萌生、发展到崛起的整个过程。在这《java语言精粹》里,jim总结了他所认为的java语言及其环境的诸多精良部分,包括:类型系统、异常处理、包机制、垃圾回收、java虚拟机、javadoc、集合、远程方法调用和并发机制。另外,他还从开发者的角度分析了在java技术周围......一起来看看 《Java语言精粹》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

SHA 加密
SHA 加密

SHA 加密工具