Flink 是一个大数据流处理引擎,它可以为不同的行业提供大数据实时处理的解决方案。 随着Flink的快速发展完善,如今在世界范围许多公司都可以见到Flink的身影。
目前在全球范围内,北美、欧洲和金砖国家均是Flink的应用热门区域。当然,这些地区 其实也就是IT、互联网行业较发达的地区。
Flink 在国内热度尤其高,一方面是因为阿里的贡献和带头效应,另一方面也跟中国的应 用场景密切相关。中国的人口规模与互联网使用普及程度,决定了对大数据处理的速度要求越 来越高,也迫使中国的互联网企业去追逐更高的数据处理效率。试想在中国,一个网站可能要 面对数亿的日活用户、每秒数亿次的计算峰值,这对很多国外的公司来说是无法想象的。而 Flink 恰好给我们高速准确的处理海量流式数据提供了可能。
Flink 在企业中的应用:
Flink 为全球许多公司和企业的关键业务应用提供了强大的支持。
对于数据处理而言,任何行业、任何公司的需求其实都是一样的:数据规模大、实时性要 求高、确保结果准确、方便扩展、故障后可恢复——而这些要求,作为新一代大数据流式处理 引擎的Flink统统可以满足!这也正是Flink在全世界范围得到广泛应用的原因。
以下是Flink官网列出的知名企业用户:
以大家熟悉的阿里为例。阿里巴巴这个庞大的电商公司,为买方和卖方提供了交易平台。 它的个性化搜索和实时推荐功能就是通过Blink 实现的(当然我们知道,Blink就是基于Flink 的,现在两者也已合体)。用户所购买或者浏览的商品,可以被用作推荐的依据,这就是为什 么我们经常发现“刚看过什么、网站就推出来了”。当用户数据量非常庞大时,快速地分析响应、 实时做出精准的推荐就显得尤为困难。而 Flink 这样真正意义上的大数据流处理引擎,就能 做到这些。这也是阿里在Flink上充分发力并成为引领者的原因。
Flink 主要应用场景:
各种行业的众多公司都在使用Flink,那到底他们用Flink来处理什么需求呢? 换句话说,什么的场景最适合Flink大显身手呢?
回到Flink本身的定位,它是一个大数据流式处理引擎,处理的是流式数据,也就是“数 据流”(Data Flow)。顾名思义,数据流的含义是,数据并不是收集好的,而是像水流一样, 是一组有序的数据序列,逐个到来、逐个处理。由于数据来到之后就会被即刻处理,所以流处 理的一大特点就是“快速”,也就是良好的实时性。Flink适合的场景,其实也就是需要实时处 理数据流的场景。
具体来看,一些行业中的典型应用有:
- 电商和市场营销
举例:实时数据报表、广告投放、实时推荐在电商行业中,网站点击量是统计 PV、UV 的重要来源,也是如今“流量经济”的最主要数据指标。很多公司的营销策略,比如广告的投放,也是基于点击量来决定的。另外,在网站上提供给用户的实时推荐,往往也是基于当前用户的点击行为做出的。
网站获得的点击数据可能是连续且不均匀的,还可能在同一时间大量产生,这是典型的数据流。如果我们希望把它们全部收集起来,再去分析处理,就会面临很多问题:首先,我们需要很大的空间来存储数据;其次,收集数据的过程耗去了大量时间,统计分析结果的实时性就大大降低了;另外,分布式处理无法保证数据的顺序,如果我们只以数据进入系统的时间为准,可能导致最终结果计算错误。
我们需要的是直接处理数据流,而Flink就可以做到这一点。
- 物联网(IOT)
举例:传感器实时数据采集和显示、实时报警,交通运输业
物联网是流数据被普遍应用的领域。各种传感器不停获得测量数据,并将它们以流的形式 传输至数据中心。而数据中心会将数据处理分析之后,得到运行状态或者报警信息,实时地显 示在监控屏幕上。所以在物联网中,低延迟的数据传输和处理,以及准确的数据分析通常很关 键。 交通运输业也体现了流处理的重要性。比如说,如今高铁运行主要就是依靠传感器检测数 据,测量数据包括列车的速度和位置,以及轨道周边的状况。这些数据会从轨道传给列车,再 从列车传到沿途的其他传感器;与此同时,数据报告也被发送回控制中心。因为列车处于高速 行驶状态,因此数据处理的实时性要求是极高的。如果流数据没有被及时正确处理,调整意见 和警告就不能相应产生,后果可能会非常严重。
- 物流配送和服务业
举例:订单状态实时更新、通知信息推送
在很多服务型应用中,都会涉及订单状态的更新和通知的推送。这些信息基于事件触发, 不均匀地连续不断生成,处理之后需要及时传递给用户。这也是非常典型的数据流的处理。
- 银行和金融业
举例:实时结算和通知推送,实时检测异常行为
银行和金融业是另一个典型的应用行业。用户的交易行为是连续大量发生的,银行面对的 是海量的流式数据。由于要处理的交易数据量太大,以前的银行是按天结算的,汇款一般都要 隔天才能到账。所以有一个说法叫作“银行家工作时间”,说的就是银行家不仅不需要996,甚 至下午早早就下班了:因为银行需要早点关门进行结算,这样才能保证第二天营业之前算出准 确的账。这显然不能满足我们快速交易的需求。在全球化经济中,能够提供24小时服务变得 越来越重要。现在交易和报表都会快速准确地生成,我们跨行转账也可以做到瞬间到账,还可 以接到实时的推送通知。这就需要我们能够实时处理数据流。
另外,信用卡欺诈的检测也需要及时的监控和报警。一些金融交易市场,对异常交易行为 的及时检测可以更好地进行风险控制;还可以对异常登录进行检测,从而发现钓鱼式攻击,从 而避免巨大的损失。