Flink可以对数据进行实时的分析计算,Flink 的应用场景分为如下4类,下面重点详解Flink应用场景。
1.实时数据计算
实时计算各类数据指标,并利用实时结果及时调整在线系统的相关策略,并应用于内容投放、智能推送领域。
比如:淘宝的双十一实时战报大屏,就是利用流式计算得出实时结果,直接被推送到前端应用。
如下图所示:
类似上图这种数据体量大,计算准确性要求高,结果要求快且准的场景,比如:上图阿里双11的实时销售额,销量的 TOP等等场景,是Apache Flink 非常擅长的。
除此之外,营销大屏,销量的升降,营销策略的结果进行环比、PV、UV 的统计,这些背后都涉及到大量信息实时的分析和聚合,都是Flink 非常典型的数据分析型应用场景。
2.监控预警
对系统和用户行为进行实时监测和分析,以便及时发现危险行为,比如:基于规则的报警。
日志收集部分,我们首先是要把这些日志和指标进行统一化、集中化的收集,Flink 可以通过 Flink UI 直接查看指标。
如下图所示:
3.流数据分析
实时计算相关指标反馈及时调整决策,内容投放、无线智能推送、实时个性化推荐等。
4.数据管道应用
数据管道可以用来监控文件系统目录中的新文件,并将其数据写入事件日志,另一个应用可能会将事件流物化到数据库或增量构建和优化查询索引,比如:电子商务中的持续 ETL。
ETL是Extract-Transform-Load的简称,是从数据源抽取/转换/加载/数据至目的端的过程。
通俗讲,ETL就是从一个或多个数据源获取数据,进行一些转换操作和信息补充,将结果存储起来。
如下图所示:
传统的 ETL 使用离线处理,经常做的是小时级别或者天级别的 ETL,实时数仓要求在分钟级或者秒级就能够对数据进行更新,能够看到实时的指标。
以上这些场景,都是典型的Flink应用场景。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》