Qestion:
Flink被用来和Spark相比,但是我认为这样的比较不太合适,把Flink窗口事件和Spark微批处理进行比较,同样的Flink与Samza对比也是,这两种情况下的比较都是实时流计算与批量处理事件策略的比较,我更想比较Flink与Storm之间的区别,这两者在概念上更相近。
我发现了这个幻灯片1(4),他主要的区别在于“可调整延迟时间”,在Slicon Angle的文章中一些暗示,flink更好的集成了spark与HadoopMr,但是没有实际确切的细节与提及。在最近的一场分享上 Fabian Hueske说“和Storm相比,flink提供了更高级的api,和一种更加轻量级的容错策略来提供exactly-once语义得到确切执行”。
上面提到的,我对这方面了解比较少?我不是能十分理解这些观点,可以解释一下这些问题吗?流在storm中是怎么处理的?在flink中又是怎么解决的? Hueske 所说的更高级的api是什么?更轻量级的容错策略又是什么?
Answer1:
声明:我是Apache Flink 项目代码的提交者和PMC 成员,我只对Storm高层架构熟悉,对其底层实现不熟悉。
Apache Flink是一个统一流处理与批处理的框架。由于流水线数据在并行任务之间进行传输(包括数据的洗牌shuffles)