选型

Flink

你可能会说

Kafka 里的数据要实时算,Spark 微批够吗?

真正的流处理引擎事件驱动、逐条处理,支持事件时间、状态和 exactly-once,适合实时风控和实时数仓;运维和状态管理比批处理复杂。
也常被叫作流处理实时计算
先问一句要秒级实时计算?
默认Flink→擅长事件时间 + 状态→别用T+1 离线批
成熟度采用

什么时候选它

  • 实时风控、实时大屏、实时数仓
  • 需要事件时间窗口、处理乱序
  • 有状态计算与 exactly-once 语义

什么时候别选

  • 只做 T+1 离线批(Spark / Hive 更简单)
  • 团队没有流处理运维能力
  • 数据量小、延迟要求宽松
容易混在一起 · 怎么分
Flink≠Kafka Streams

Flink 是独立集群,窗口 / 状态 / 事件时间更完整;Kafka Streams 是库,轻量但绑定 Kafka。

Q面试会问什么

  • 问:和 Spark Streaming 的区别?
    答:Flink 原生流,批是流的特例,延迟低;Spark Streaming 是微批,吞吐好但延迟到秒级。
  • 问:exactly-once 怎么保证?
    答:checkpoint 保存状态 + 两阶段提交的 sink + 可回放的数据源,三者配合。
延伸阅读 · 权威出处