spark streaming、flink和storm区别浅析

1. 介绍

这三个计算框架经常被拿来比较。从个人角度来看,三者的比较能够分为两类(mini-batches vs. streaming)。spark streaming属于微批量的伪流式准实时计算框架(spark自己属于批处理框架)。而flink和storm则做为典型的实时流处理框架。html

2. spark vs flink

二者虽然有不少设计实现思路上比较接近以及互相学习,可是主要区别仍是mini-batch和streaming的选择上。根据实际场景在吞吐量和实时性上作权衡。算法

3. flink vs storm

名称 批处理 数据处理保证 api level 容错机制
storm 不支持 at least once(实现采用record-level acknowledgments),Trident能够支持storm 提供exactly once语义 low record-level acknowledgments
flink 支持 exactly once(实现采用Chandy-Lamport 算法,即marker-checkpoint ) high marker-checkpoint

4. 其余资料

5. 总结

我写的比较简略。强烈建议看看下面我罗列的参考资料,都写的很不错。api

参考资料:框架

  1. What is/are the main difference(s) between Flink and Storm?
  2. Introduction to Apache Flink for Spark Developers : Flink vs Spark
  3. Apache Flink和Apache Spark有什么异同?它们的发展前景分别怎样?
  4. 实时流处理Storm、Spark Streaming、Samza、Flink孰优孰劣?
  5. Spark与Flink:对比与分析
相关文章
相关标签/搜索