Storm和Spark streaming区别

1.处理模型
    Storm处理的是每次传入的一个事件.
    Spark Streaming是处理某个时间段窗口内的事件流

2.延迟
   Storm处理一个事件可以达到秒内的延迟
   Spark Streaming则有几秒钟的延迟
3.容错
   Storm中,每个单独的记录当它通过系统时必须被跟踪,所以Storm能够至少保证每个记录将被处理一次,
   从错误中恢复过来时候允许出现重复记录。这意味着可变状态可能不正确地被更新两次
   (实际上,Storm的 Trident library库也提供了完全一次处理。但是,它依赖于事务更新状态,这比较慢,通常必须由用户实现。)
  Spark Streaming只需要在批级别进行跟踪处理,需要有状态的计算,而且要完全保证每个事件只被处理一次,     Spark Streaming则更好。

Spark Streaming 性能优化
   1.增加并行度。
   2.减少数据序列化,反序列化的负担
   3.设置合理的批处理间隔
   4.减少因任务提交和分发所带来的负担
   内存方面的优化
   5.控制批处理间隔内的数据量
   6. 及时清理不再使用的数据
   7. 观察及适当调整GC策略

猜你喜欢

转载自houston123.iteye.com/blog/2317498
今日推荐