Storm和Spark streaming区别

本文对比了Storm与SparkStreaming在事件处理模型、延迟、容错机制等方面的差异,并针对SparkStreaming提出了性能优化建议。
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策略
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值