Storm与Flink比较和区别
更新时间
浏览
TIP
本文主要是介绍 Storm与Flink比较和区别 。
# Storm与Flink的比较
比较项 | Storm | Flink |
---|---|---|
状态管理 | 无状态,需用户自行进行状态管理 | 有状态 |
窗口支持 | 对事件窗口支持较弱,缓存整个窗口的所有数据,窗口结束时一起计算 | 窗口支持较为完善,自带一些窗口聚合方法,并且会自动管理窗口状态。 |
消息投递 | At Most Once At Least Once | At Most Once At Least Once Exactly Once |
容错方式 | ACK机制 :对每个消息进行全链路跟踪,失败或超时进行重发。 | 检查点机制 :通过分布式一致性快照机制,对数据流和算子状态进行保存。在发生错误时,使系统能够进行回滚。 |
应用现状 | 在美团点评实时计算业务中已有较为成熟的运用,有管理平台、常用 API 和相应的文档,大量实时作业基于 Storm 构建。 | 在美团点评实时计算业务中已有一定应用,但是管理平台、API 及文档等仍需进一步完善。 |
# 单线程的吞吐量比较
(图片参考来自美团技术团队)
- 上图中蓝色柱形为单线程 Storm 作业的吞吐,橙色柱形为单线程 Flink 作业的吞吐。
- Identity 逻辑下,Storm 单线程吞吐为 8.7 万条/秒,Flink 单线程吞吐可达 35 万条/秒。
- 当 Kafka Data 的 Partition 数为 1 时,Flink 的吞吐约为 Storm 的 3.2 倍;当其 Partition 数为 8 时,Flink 的吞吐约为 Storm 的 4.6 倍。
- 由此可以看出,Flink 吞吐约为 Storm 的 3-5 倍。
# 参考文章
- https://blog.csdn.net/fct2001140269/article/details/84479740