大数据时代|阿里为何选择Flink?你知道Flink的前世今生吗?

2020-06-23 00:00:00 数据 阿里巴巴 开源 阿里 引擎

前言

20118年底发生了一件震惊大数据圈的事情,阿里巴巴以9000万欧元的价格收购了位于柏林的Data Artisans这家牛逼的开源流引擎Flink背后的创业公司。

在Hadoop生态圈,Flink是一个比Spark更新的引擎。Spark你肯定知道了,就是那个取代了MapReduce成为新一代数据处理引擎霸主的。但是你可能不知道,阿里巴巴内部已经全面用Flink取代了Spark。那么到底什么是Flink呢?阿里又为什么会选择Flink呢?

Flink简介

Flink 是一个针对流数据和批数据的分布式处理引擎。它主要是由 Java 代码实现。目前主要还是依靠开源社区的贡献而发展。对 Flink 而言,其所要处理的主要场景就是流数据,批数据只是流数据的一个极限特例而已。再换句话说,Flink 会把所有任务当成流来处理,这也是其大的特点。Flink 可以支持本地的快速迭代,以及一些环形的迭代任务。

Flink的特性:

Flink是个分布式流处理开源框架:

1: 即使数据源是无序的或者晚到达的数据,也能保持结果准确性

2:有状态并且容错,可以无缝的从失败中恢复,并可以保持exactly-once

3:大规模分布式

Flink可以确保仅一次语义状态计算;Flink有状态意味着,程序可以保持已经处理过的数据;

Flink支持流处理和窗口事件时间语义,Flink支持灵活的基于时间窗口,计数,或会话数据驱动的窗户;

Flink容错是轻量级和在同一时间允许系统维持高吞吐率和提供仅一次的一致性保证,Flink从失败中恢复,零数据丢失;

Flink能够高吞吐量和低延迟;

Flink保存点提供版本控制机制,从而能够更新应用程序或再加工历史数据没有丢失并在小的停机时间。

阿里为什么会选择Flink?

基于Apache Flink在阿里巴巴搭建的平台于2016年正式上线,并从阿里巴巴的搜索和推荐这两大场景开始实现。目前阿里巴巴所有的业务,包括阿里巴巴所有子公司都采用了基于Flink搭建的实时计算平台。同时Flink计算平台运行在开源的Hadoop集群之上。采用Hadoop的YARN作为资源管理调度,以 HDFS作为数据存储。因此,Flink可以和开源大数据软件Hadoop无缝对接。

目前,这套基于Flink搭建的实时计算平台不仅服务于阿里巴巴集团内部,而且通过阿里云的云产品API向整个开发者生态提供基于Flink的云产品支持。

Flink是一个低延迟、高吞吐、统一的大数据计算引擎。在阿里巴巴的生产环境中,Flink的计算平台可以实现毫秒级的延迟情况下,每秒钟处理上亿次的消息或者事件。同时Flink提供了一个Exactly-once的一致性语义。保证了数据的正确性。这样就使得Flink大数据引擎可以提供金融级的数据处理能力。

从技术发展方向看,用批来模拟流有一定的技术局限性,并且这个局限性可能很难突破。而 Flink基于流来模拟批,在技术上有更好的扩展性。从长远来看,阿里决定用 Flink 做一个统一的、通用的大数据引擎作为未来的选型。

Flink学习路线导图

面对这大数据时代,你难道还不准备投身于这时代大潮中,为自己奋斗出一片天吗?

喜欢小编请多多评论转发收藏,另外小编整理了一些Flink学习资料,有需要的小伙伴可以关注小编,并查看主页获取免费领取方式吧。

相关文章