Flink
你可能会说
Kafka 里的数据要实时算,Spark 微批够吗?
真正的流处理引擎事件驱动、逐条处理,支持事件时间、状态和 exactly-once,适合实时风控和实时数仓;运维和状态管理比批处理复杂。
也常被叫作流处理实时计算
什么时候选它
- 实时风控、实时大屏、实时数仓
- 需要事件时间窗口、处理乱序
- 有状态计算与 exactly-once 语义
什么时候别选
- 只做 T+1 离线批(Spark / Hive 更简单)
- 团队没有流处理运维能力
- 数据量小、延迟要求宽松
容易混在一起 · 怎么分
Flink≠Kafka Streams
Flink 是独立集群,窗口 / 状态 / 事件时间更完整;Kafka Streams 是库,轻量但绑定 Kafka。
Q面试会问什么
- 问:和 Spark Streaming 的区别?
答:Flink 原生流,批是流的特例,延迟低;Spark Streaming 是微批,吞吐好但延迟到秒级。 - 问:exactly-once 怎么保证?
答:checkpoint 保存状态 + 两阶段提交的 sink + 可回放的数据源,三者配合。
延伸阅读 · 权威出处