storm-sparkstreaming-对比

Storm
纯实时,来一条数据,处理一条数据
毫秒级
吞吐量低
事务机制支持完善
采用ZooKeeper,Acker,容错性非常强
支持动态调整并行度

1、需要纯实时,不能忍受1秒以上延迟的场景下使用,比如实时金融系统,要求纯实时进行金融交易和分析

2、对于实时计算的功能中,要求可靠的事务机制和可靠性机制,即数据的处理完全精准,一条也不能多,一条也不能少,也可以考虑使用Storm

3、若还需要针对高峰低峰时间段,动态调整实时计算程序的并行度,以最大限度利用集群资源(通常是在小型公司,集群资源紧张的情况),也可以考虑用Storm

4、如果一个大数据应用系统,它就是纯粹的实时计算,不需要在中间执行SQL交互式查询、复杂的transformation算子等,那么用Storm是比较好的选择

spark streaming
准实时,对一个时间段内的数据收集起来,作为一个RDD,再处理
秒级
吞吐量高
支持事务,但不够完善
Checkpoint,WAL,容错性一般
不支持动态调整并行度
一个项目除了实时计算之外,还包括了离线批处理、交互式查询等业务功能,而且实时计算中,可能还会牵扯到高延迟批处理、交互式查询等功能,那么就应该首选Spark生态,用Spark Core开发离线批处理,用Spark SQL开发交互式查询,用Spark Streaming开发实时计算,三者可以无缝整合,给系统提供非常高的可扩展性 Spark Streaming与Storm的优劣分析事实上,Spark Streaming绝对谈不上比Storm优秀。

猜你喜欢

转载自blog.csdn.net/qq_16038125/article/details/78422525