Flink的应用场景和架构模型
分类:
文章
•
2025-02-07 09:37:34
- Flink实际应用场景
- 实时数据计算
- Flink:批流一体
数据实时采集、实时计算和下游发送
- 实时数据仓库和 ETL
- 丰富的API
包括 Stream API、Table API 及 Flink SQL;
- 事件驱动型应用
- 高效的状态管理
自带的 State Backend 可以很好的存储中间状态信息;
- 丰富的窗口支持
包含滚动窗口、滑动窗口及其他窗口;
- 多种时间语义
支持 Event Time(事件时间)、Processing Time (处理时间)和 Ingestion Time(摄取时间);
- 不同级别的容错
支持 At Least Once 或 Exactly Once 容错级别。
- 性能:Flink 已经可以扩展到数千核心,其状态可以达到 TB 级别,且仍能保持高吞吐、低延迟的特性。
- Flink 的架构模型
- Flink 的分层模型
- Flink 的数据流模型
- Flink 程序的基础构建模块是流(Streams)与转换(Transformations)
- 每一个数据流起始于一或多个Source,终止于一或多个Sink
- 分区、算子任务、并行度
在 Flink 任务执行期间,每一个数据流都会有多个分区,并且每个算子都有多个算子任务并行进行。算子子任务的数量是该特定算子的并行度(Parallelism),对并行度的设置是 Flink 任务进行调优的重要手段
- Flink 中的窗口和时间
- 滚动窗口(Tumbling Window)、滑动窗口(Sliding Window)及会话窗口(Session Window)#重点 这里需要研究一下
- 事件时间(Event Time)、摄取时间(Ingestion Time)和处理时间(Processing Time)
-