购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 Flink的应用

Flink是一个大数据流处理引擎,可以为不同行业提供大数据实时处理解决方案。随着Flink的快速发展和完善,如今,在世界范围内的许多公司中都可以见到Flink的身影。

目前,在全球范围内,北美、欧洲和金砖国家均是Flink的应用热门区域。当然,这些地区其实也就是IT、互联网行业较发达的地区。

Flink在国内热度尤其高,一方面是阿里巴巴的贡献和带头效应,另一方面是与我国的应用场景密切相关。我国的人口规模与互联网的普及程度决定了对大数据处理的速度要求越来越高,也迫使我国的互联网企业去追求更高的数据处理效率,而Flink恰好为我们高速、准确地处理海量流式数据提供了可能。

1.2.1 Flink在企业中的应用

Flink为全球许多企业的关键业务应用提供了强大的支持。

对于数据处理,任何行业、企业的需求其实都是一样的:数据规模大、实时性要求高、确保结果准确、方便扩展、故障后可恢复。而对于这些需求,作为新一代大数据流式处理引擎的Flink都可以满足,这也正是Flink在全世界范围内得到广泛应用的原因。

Flink官网列出的知名企业用户如图1-3所示,这些企业在生产环境中有各种各样有趣的应用。

图1-3 Flink官网列出的知名企业用户

下面以我们熟悉的阿里巴巴为例进行介绍。阿里巴巴为买方和卖方提供了交易平台,其个性化搜索和实时推荐功能就是通过Blink实现的(Blink基于Flink,现在两者已合体)。用户购买或浏览的商品可以被用作推荐的依据,这就是为什么我们经常发现自己“刚看过什么,网站就推出来了”。当用户数据量非常庞大时,快速地分析响应、实时做出精准的推荐就显得尤为困难。而Flink这样真正意义上的大数据流式处理引擎就能做到这些,这也是阿里巴巴在Flink上充分发力并成为引领者的原因。

1.2.2 Flink主要的应用场景

可以看到,各个行业的众多企业都在使用Flink,那到底这些企业用Flink来实现什么需求呢?换句话说,什么场景最适合Flink大显身手呢?

回到Flink本身的定位,它是一个大数据流式处理引擎,处理的是流式数据,即数据流(Data Flow)。顾名思义,数据流的含义是,数据并不是收集好的,而是像水流一样,是一组有序的数据序列,逐个到来、逐个被处理。因为数据到来之后会被即刻处理,所以流处理的一大特点就是快速,即良好的实时性。Flink适合的场景其实也就是需要实时处理数据流的场景。

具体来看,Flink在一些行业中的典型应用如下。

1.电商和市场营销

举例:实时数据报表、广告投放、实时推荐。

在电商行业中,网站点击量是统计PV、UV的重要来源,也是如今“流量经济”最主要的数据指标。很多公司的营销策略,如广告的投放,也是基于点击量来决定的。另外,在网站上提供给用户的实时推荐往往也是基于当前用户的点击行为做出的。

网站获得的点击数据可能是连续且不均匀的,还可能在同一时间大量产生,这是典型的数据流。如果我们希望先把它们全部收集起来,再去分析处理,就会面临很多问题:首先,我们需要很大的空间来存储数据;其次,收集数据的过程耗费了大量时间,统计分析结果的实时性就大大降低了;最后,分布式处理无法保证数据的顺序,如果我们只以数据进入系统的时间为准,则可能导致最终结果计算错误。

我们需要的是直接处理数据流,而Flink就可以做到这一点。

2.物联网(IoT)

举例:传感器实时数据采集和显示、实时报警,交通运输业。

物联网是流数据普遍应用的领域。各种传感器不停地获得测量数据,并将它们以流的形式传输至数据中心。数据中心会将数据处理分析,得到运行状态或报警信息,并实时地显示在监控屏幕上。因此,在物联网中,进行低延迟的数据传输和处理,以及准确的数据分析通常很关键。

交通运输业也体现了流处理的重要性。例如,如今高铁运行主要就是依靠传感器来检测数据的,测量数据包括列车的速度和位置,以及轨道周边的状况。这些数据会由轨道传给列车,再由列车传给沿途的其他传感器;与此同时,数据报告被发送回控制中心。因为列车处于高速行驶状态,所以对数据处理的实时性要求是极高的。如果流数据没有被及时正确地处理,那么调整意见和警告就不能相应产生,后果可能会非常严重。

3.物流配送和服务业

举例:订单状态的实时更新、通知信息的推送。

在很多服务型应用中,都会涉及订单状态的实时更新和通知信息的推送。这些信息基于事件触发,不均匀地连续不断生成,处理之后需要及时传递给用户,这也是非常典型的数据流的处理。

4.银行和金融业

举例:实时结算和通知推送,实时检测异常行为。

用户的交易行为是连续大量发生的,银行面对的是海量的流数据。由于要处理的交易数据量太大,以前银行都是按天结算的,汇款一般要隔天才能到账。因此,有一种说法叫作“银行家工作时间”,说的就是“银行家”不需要做到“996”,甚至下午早早就下班了,因为银行需要早点关门进行结算,只有这样,才能保证第二天营业之前算出准确的账。这显然不能满足我们快速交易的需求。在经济全球化背景下,能够提供24小时服务变得越来越重要。现在,交易和报表都会快速、准确地生成,即使是跨行转账,也可以做到瞬间到账,还可以接到实时的推送通知,这就需要我们能够实时处理数据流。

另外,信用卡欺诈的检测也需要实时监控和报警。对于一些金融交易市场,对异常交易行为进行实时检测,可以更好地进行风险控制;还可以对异常登录进行检测,进而发现钓鱼式攻击,从而避免损失。 lIN473M+kGOOE9dGJL1Sr2YmdT76gRJfcoEtlQ3WieSYoMgLrToKOm13jMU2Bb0R

点击中间区域
呼出菜单
上一章
目录
下一章
×