一、Flink是什么
Flink是开源的分布式流处理引擎,支持有状态计算和精确一次语义,成为实时计算领域的标准选择。它既能处理无界数据流,也能处理有界数据集,统一了流批处理。
一)核心概念
数据流、算子、状态和检查点是Flink的核心概念。数据流经过各算子的转换处理,状态保存计算中间结果,检查点实现故障恢复。
二、架构与部署
Flink采用主从架构,JobManager负责任务调度,TaskManager执行计算任务。支持本地、YARN和Kubernetes等多种部署方式,高可用配置保障作业稳定。
一)窗口与时间
事件时间、处理时间和注入时间是三种时间语义,窗口分为滚动、滑动和会话窗口。时间语义的选择直接影响计算结果准确性,乱序数据处理需要水位线机制。
三、典型应用场景
实时监控告警、实时报表、风控反欺诈和实时数仓是Flink的典型应用。与Kafka和数据库生态配合,构建完整的实时数据处理链路。
Flink让实时计算从概念走向工程实践,掌握核心概念是入门的关键一步。