处理元组\消息时,Storm和Spark Streaming之间的延迟有什么区别?

问题描述:

1,基于下面的描述,Storm和Spark Streaming都处理批量或小批量/微批量的消息/元组吗? https://storm.apache.org/releases/2.0.0-SNAPSHOT/Trident-tutorial.html处理元组消息时,Storm和Spark Streaming之间的延迟有什么区别?

2,如果上述问题的答案是肯定的,这意味着两种技术在处理消息/元组时都有延迟?如果是这样的话,为什么我经常听说Storm会比Spark Streaming更好,比如下面的文章? https://www.ericsson.com/research-blog/data-knowledge/apache-storm-vs-spark-streaming/

3,从三叉戟教程它描述了: “一般这些小批量的规模将是数千或数百万元组的顺序,根据您输入的吞吐量。” 那么小批量的真正尺寸是多少?数千或数百万个元组?如果是,Storm如何保持这种短暂的延迟?

https://storm.apache.org/releases/2.0.0-SNAPSHOT/Trident-tutorial.html

风暴的核心API尝试,因为它到达处理事件。它是一个时间处理模型的事件,可能会导致非常低的延迟。

Storm's Trident是一款建立在风暴核心apis之上的微型配料模型,用于提供一次性保证。 Spark流也基于微量批处理,并且在延迟方面与三叉戟相当。

所以如果有人正在寻找极低的延迟处理风暴的核心api将是路要走。然而,这只保证至少一次处理,并且在失败的情况下接收重复事件的机会并且应用程序预期处理这个事件。

看看yahoo [1]的流媒体基准测试,可以提供更多的见解。

[1] https://yahooeng.tumblr.com/post/135321837876/benchmarking-streaming-computation-engines-at

+0

谢谢您的澄清。 –