Flink、Spark和Storm作为流处理框架的对比

流处理已经获得了越来越多的关注,不论是在学术界和工业界,在很多特定的场景下,批处理无法满足使用者的需求,实时的流处理是必不可少的。目前主流的框架主要集中在Flink、Spark和Storm上,这三个框架有各自的优点,也有各自的劣势。理解这三个框架的区别,能帮助使用者在特定的场景下选择更为合理的框架,获得最佳的使用效果。

首先从三个框架的底层去比较一下。Spark采用的想法依然是批处理,用微小的“批”来模拟“流”,以此达到流处理。Flink和Storm则是直接对字节流处理。

其次从处理效率上对比,结果参考论文1的实验,

在框架合理承受范围内,StormFlink的处理时间和输入数据量之比是趋近于线性的,Spark会出现分段,如图。

数据量过大时,Storm在过大的数据吞吐时效率很低,Flink表现不如Spark稳定。

 

对于使用者来说,API和社区资源支持也是不可忽略的,Storm在这一点上还不及另外两个框架。Flink和Spark各有优势,Spark由于使用者较多,目前做得最为出色;Flink的使用者和关注度也在持续升高,未来可期。

虽然目前在资源上Flink稍逊于Spark,但是Flink却拥有几个重要的优势,比如容错能力优越,应对反压能力强,与Hadoop的兼容性更好。用一张对比表格来展示一下对比结果,

每个框架都有自己独特的特性,在不同的场景和需求下,应该灵活地使用框架甚至是优化框架,这样才能获得更好的效率。

参考:

1 Benchmarking Streaming Computation Engines: Storm, Flink and Spark Streaming

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值