00:00
我们先看一看flink框架的整体处理流程是什么样的,我们前面说了,它主要处理的是数据流,诶,那怎么样做这样的一个数据流的处理呢?我们可以看一下这张图啊,它的处理框架其实就是有很多的实时数据,比方说我们在网站当中有交易数据。有日志数据啊,或者说还有什么点击流,不停的在在这个网站上做点击,把它收集起来,还有物联网,呃,所谓的IOT啊,有很多传感器在不停的收集数据,收集起来之后要传输到我们的控制中心去做处理啊,去做响应这些数据。它都是在不停的收集,源源不断来的,所以我们把它叫做实时数据啊,那这种情况下,这个数据我们需要不停的读取,随时去拉取新的数据过来,另外呢,我也可以把它存储到一些数据库或者文件系统键值存储啊,KY6的这种存储里面去。不管是在哪里,接下来flink要做的是什么呢?诶,中间这里这就是flink flink要做的就是从外部把数据读取进来,实时的这些数据读取进来,然后做各种类型的处理,比如说可以做事件驱动型的应用,什么叫事件驱动呢?那就是来一个事件,我这边就给一个响应啊,这就所谓的事件驱动,那或者呢,也可以做其他的一些流水线处理啊,我就做完了一步操作,然后接下来呢,再做下一步操作,一步一步来,后面还可以做流分析,或者是批处理的分析,一批数据攒齐了之后,哎,我去分析一下它到底有什么特征呢?啊,提取一个什么特点,统计一个什么样的指标出来呢?这些都是可以去做的,这就是flink要做的大数据流处理。
01:47
而这个处理的过程是实时的,每来一个新的数据,理论上这里我们都可以得到对应的响应,因为它是事件驱动嘛,你来一个新的事件,我这里就可以去做一下。最终。我可以返回给应用程序做一个响应,也可以重新把它写入到事件日志里面去,另外呢,也可以把处理的结果写入到数据库、文件系统或者电池存储里面去,这就是flink处理的一个整体的框架,这就是流处理。
02:17
所以简单来看的话,就有点儿像一个管道一样,处理的一个管道水管一样啊,中间这就是一个管道,我们这边数据进这边处理完了之后数据就出来了,可以从不同的存储介质里边去读取数据,然后呢,也可以处理完成之后把它写入到各种各样的存储介质里面去,这就是flink的一个应用的过程。其实也就可以看得出来了,那弗林应该应用在什么场景下呢?其实在各种各样的场景下都可以用,只要你的数据是实时的,比方说像我们这里有交易数据,那我们这个很多网站不就是要处理这些数据吗?啊,或者说对于这个日志数据我们要做分析,那我们做的这个实时分析不就可以基于它用flink来直接处理吗?啊另外呢,比方说像这个物联网啊,我们要做控制中心的这些分析和检测,同样也可以用flink来做,所以它的能够应用的行业和应用的场景是非常非常多的。
03:16
啊,随着弗林可现在在这个快速的发展完善啊,大家可以看到现在在世界范围内很多公司,很多行业都可以看到弗link的身影,特别是做这个大数据的实时流处理的时候。啊,那现在这个弗林的热度呢,在国内,在中国尤其的高,一方面是因为阿里的贡献啊,和这个巨头企业的龙头效应,带头效应,呃,阿里这既然挑头,那其他大家肯定要快步赶上了,另外一方面,弗link做这个大数据实时流处理,它到底有什么非常值得应用的地方呢?啊,其实主要就是因为它的响应速度快,实时嘛,来了之后马上就能处理,那我为什么非得用大数据处理框架呢?实时处理的话,我们平常一个后台程序不都是这样的吗。
04:08
这个问题就在于你的数据量大了之后,你一台服务器,甚至是一个集群可能也处理不了,同时处理不了那么大的数据,那这个时候怎么办呢?之前我们用这个哈杜Spark做这个数据分析,数据处理的时候,海量数据,数据收集齐了之后保存,然后去做这个分层,去做提取,去做这个查询,把它做一个离线分析,但如果说要非常快速的,非常实时的得到响应的话。可能就不是那些框架所擅长的了啊,当然SPA streaming可以做到这一点,后面我们会提到它跟flink还是有所区别,有所差距的啊,所以当前的flink就在这种场景下应用特别的好。那所以在在中国为什么会有更高的热度呢?在其他的国家可能没有我们中国这么多人呢?啊,你想想为什么阿里要挑头做这件事儿,就是因为我们中国人多,阿里的双11各种各样的购物节,同时用户来的这些点击的这个数据和交易的数据下的这个订单量,可能是很多其他的国家有可能一个月甚至一年都没有的订单数量,我们这里遇到的场景就是在国外很多企业可能永远遇不到的场景。
05:21
所以这也倒逼着国内的很多公司去做这个技术创新,去用更新更好的技术来解决实际问题,那我们来看一下在企业当中有哪些应用呢?啊,这个图大家可以看的非常的明确,这个图是从flink官网上直接贴过来的,有国内外的很多知名的企业,最典型的当然就是阿里啊,当然还有亚马逊啊,涉及的这个行业也是多种多样,比方说像电商啊,或者像快手做这个平台,唯品会,小米什么的,腾讯都是有应用的。所以可以说各行各业,只要你想更快更实时的处理海量的流数据,那就应该用link。
06:05
然后接下来我们再简单的总结一下flink的应用场景,前面我们说了啊,就各行各业都能用,只要是你想要让它快要实时的去处理大量的这个流数据,都可以用link。那具体来讲,最佳的应用场景主要可能有这么四大类的行业,一部分就是电商和市场营销。电商市场营销这里面的主要举例就有实时报表,广告投放,还有实时推荐,像这个实时报表网站,电商网站里边它的点击量啊,用户的这些点击量,其实也是他统计p vov的一个非常重要的来源,也是我们现在都讲这个流量经济嘛,什么是流量呢?点击嘛,用户点击了一下,浏览一下这个页面,这就是一个流量啊,所以想要做各种各样的这个商业分析,所谓的这个BI分析啊,生成这个实时的报表,其实都是基于这个数据的。另外还有一些公司的营销策略,我们在这个页面上投放什么样的广告,广告的这个定价是什么样的,都是基于点击量,那这个数据有可能非常非常的大,如果要是下订单的话,只要不是那些购物节,不是那个秒杀,什么抢购可能还好,但是你像这个浏览量的话,这个点击量那可能是非常庞大的数据,任何一个时刻数据量都非常大,那怎么办呢?
07:23
这个时候如果是想要把它先收集起来,把所有的数据,要分析的所有数据先收集起来,然后再去统一做处理的话。这就是我们之前熟悉的一个批处理的思路,攒一批然后处理,这个好处在于你想要处理的数据都到齐了。缺点就在于那攒数据的过程本来就等了很久,然后攒齐了再去处理,再去一个一个把这个数据提取出来去做分析,那这个处理的过程又很复杂,不用have做离线分析的时候,特别是做这个好多个表,连表查询那个很大的表的话,经常就会出现一条CQ,可能要跑好几个小时,甚至要跑一天啊,跑几天都是有可能的。
08:07
啊,那这个在很多场景下是不可接受的,如果说我们是要实时报表,就是马上数据来了之后很快就要出,怎么办呢?用flink可以解决啊,这就是一个非常典型的应用场景。另外还有就是物联网IOT啊,这个主要就是比方说像这个传感器的实时数据的采集,采集了之后要做什么呢?那就是比方说我们那个控制中心,可以把它实时的显示出来,有一个大屏幕,然后上面就显示着当前啊,哪个地方的温度是多少,对吧,哪个地方的湿度是多少,风速是多少,把一这个一项一项都显示在这个大屏幕上,另外还可以干什么呢?还可以按报警啊,就假如说我们当前这个温度太高了啊,或者说这个湿度太高了,有可能影响设备的运转,那这个时候我就可以经通过分析之后做一个报警的输出。这个对于实时性的要求其实比电商要求还要高,因为这里如果你要稍微慢一点的话,这个可能最后导致的结果非常严重了。另外还有物流配送和服务,这个其实大家也非常熟悉了,当前我们物流配送的时候,其实是要随时的追踪订单的状态的。
09:17
订单如果做了一些改变,我们就应该把它当前的数据获取到,然后可能就要推送给对应的用户,要更新,实时的知道他当前的状态,如果说数据量比较小的话,服务器这个后台不就是干这个事儿的吗?啊,数据量比较小的时候,一台服务器啊,或者几台服务器一个集群就搞定了,那如果是海量数据怎么办呢?同样flink也可以搞定这样的内容,所以flink不光是可以承接一部分Spark啊哈杜普做离线分析,离线处理这个大数据分析处理的这些需求,另外它其实也可以承接一部分我们传统的网站后台的业务。因为它是实时的嘛,你只要来了数据之后,我就可以做分析,做响应,他就可以承担一部分业务逻辑要做的这一部分内容。
10:07
最后还有一部分是这个银行和金融业啊,这个也比较有趣,在银行和金融业里边啊,我们用户的这个转账啊,交易啊,这些行为,特别是现在我们都是电子银行,都是线上转转账,现在这个行为可能就是非常非常多了,转账会非常非常的频繁,那银行面对的呢,当然就是连续不断的,而且有可能同一时间非常多的海量的实时数据。那那以前银行是怎么样去做这个结算呢?银行有一个一个说法,就是说我们要去做盘点,要去做核对,核算结算,为什么他要做这个事儿呢。那其实就是因为我们之前在这个电子系统里边,你发生了一笔转账,你把这个钱转过去了,他这个还不算完。他必须最后再去核对我们所有的这个数据库里边啊,每一笔账最后都是平的啊,会计要做的事情啊,啊所有的这个每一笔转账,你这边少了一笔,我那边就得加上一笔,整个这个都是平的,都没有任何的问题。
11:08
所有最后的数值都严丝合缝对上了,这才代表我们所有的交易是真正完成了。哎,所以当时如果要想做一个银行转账,是不可能实时到账的,经常就会好几个工作日之后转账才能转一笔。他主要就是做这个结算比较麻烦,他要把大量的数据收集在一起,然后一笔一笔去核对,这个就很麻烦,那现在怎么做呢?现在要实时结算,我一笔转账过去之后,马上就核对就清楚了,两边就已经结清了,所有的交易啊都已经完成了。这种怎么样去做呢?如果说数据量不大,那我们用服务器去搞定,如果数据量非常非常大怎么办?用大数据框架flink可以搞定。另外还有一个应用,就是像这个信用卡,信用卡有盗刷欺诈的一些行为啊,我们可以去做一些风险的检测,所以在很多行业,这个其实也不光是银行和金融业啊,就在其他行业里边也是,如果我们想要做一些比方说用户登录行为啊,用户的交易行为有一些风险的检测的话,都可以用flink去做实时的处理。
12:17
所以在风控领域,Flink也有非常多的应用,这就是关于flink的应用的场景。
我来说两句