Flink的前世今生的概述

1.Flink 概述

Apache Flink 官网:https://flink.apache.org/
在这里插入图片描述
在这里插入图片描述

  • 注意: 在Flink 1.12.0 中淘汰了 DatasetAPI 统一使用了 DataStreamAPI

2. 实时既未来

在这里插入图片描述
为什么说流处理即未来? https://news.qudong.com/article/562521.shtml

3.Flink的背景

在这里插入图片描述

  • Flink 诞生于欧洲的一个大数据研究项目 StratoSphere。该项目是柏林工业大学的一个研究性项目。早期,Flink 是做 Batch 计算的,但是在 2014 年, StratoSphere 里面的核心成员孵化出 Flink,同年将 Flink 捐赠 Apache,并在后来成为 Apache 的顶级大数据项目,同时 Flink 计算的主流方向被定位为 Streaming, 即用流式计算来做所有大数据的计算,这就是 Flink 技术诞生的背景。
  • 2014 年 Flink 作为主攻流计算的大数据引擎开始在开源大数据行业内崭露头角。区别于Storm、Spark Streaming 以及其他流式计算引擎的是:它不仅是一个高吞吐、低延迟的计算引擎,同时还提供很多高级的功能。比如它提供了有状态的计算,支持状态管理,支持强一致性的数据语义以及支持 基于Event Time的WaterMark对延迟或乱序的数据进行处理等

4. Flink技术栈

  • Flink分层组件栈如下图所示:
    在这里插入图片描述

5. Flink的四大基石

  • Flink之所以能这么流行,离不开它最重要的四个基石:Checkpoint、State、Time、Window。
    在这里插入图片描述
    在这里插入图片描述

6. Flink的应用场景

http://www.liaojiayi.com/flink-IoT/
https://flink.apache.org/zh/usecases.html
在这里插入图片描述
从很多公司的应用案例发现,其实Flink主要用在如下三大场景:

  1. Event-driven Applications(事件驱动应用):
    在这里插入图片描述
    在这里插入图片描述
  • 流计算本质上是Data Driven 计算。
  • 应用较多的如风控系统,当风控系统需要处理各种各样复杂的规则时,Data Driven 就会把处理的规则和逻辑写入到Datastream 的API 或者是ProcessFunction 的API 中,然后将逻辑抽象到整个Flink 引擎,当外面的数据流或者是事件进入就会触发相应的规则,这就是Data Driven 的原理。在触发某些规则后,Data Driven 会进行处理或者是进行预警,这些预警会发到下游产生业务通知,这是Data Driven 的应用场景,Data Driven 在应用上更多应用于复杂事件的处理.

典型实例: - 欺诈检测(Fraud detection)、异常检测(Anomaly detection)

  • 基于规则的告警(Rule-based alerting)
  • 业务流程监控(Business process monitoring)
  • Web应用程序(社交网络)
    在这里插入图片描述
  1. Data Analytics Applications
    数据分析任务需要从原始数据中提取有价值的信息和指标。如下图所示,Apache Flink 同时支持流式及批量分析应用。
    在这里插入图片描述
    在这里插入图片描述
  2. Data Pipeline Applications:
    数据管道: 提取-转换-加载(ETL)是一种在存储系统之间进行数据转换和迁移的常用方法。
  • ETL 作业通常会周期性地触发,将数据从事务型数据库拷贝到分析型数据库或数据仓库。
  • 数据管道和 ETL 作业的用途相似,都可以转换、丰富数据,并将其从某个存储系统移动到另一个。但数据管道是以持续流模式运行,而非周期性触发。因此数据管道支持从一个不断生成数据的源头读取记录,并将它们以低延迟移动到终点。
    在这里插入图片描述
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_49834705/article/details/114293874