我发现 Apache-Storm、Apache-Spark、Apache-Flink 和 TIBCO StreamBase 是一些强大的流处理框架。但我不知道其中哪一个具有最好的性能和能力。
我知道 Apache-Spark 和 Apache-Flink 是两个支持流处理的通用框架。但是 Apache-Storm 和 TIBCO StreamBase 是专门为流处理而构建的。这些框架之间有什么可观的优势吗?
谢谢
我发现 Apache-Storm、Apache-Spark、Apache-Flink 和 TIBCO StreamBase 是一些强大的流处理框架。但我不知道其中哪一个具有最好的性能和能力。
我知道 Apache-Spark 和 Apache-Flink 是两个支持流处理的通用框架。但是 Apache-Storm 和 TIBCO StreamBase 是专门为流处理而构建的。这些框架之间有什么可观的优势吗?
谢谢
您可能还想看看Apache Flink。它是 Apache Spark 的新竞争者,因为它可以同时进行实时和批量分析。它还声称比 Apache Spark 更快,但我认为主要取决于您的用例。
好消息是:Apache Flink 项目在其开发版本中有一些 Storm 兼容层。通过这种方式,您可以使用现有的 Storm 项目并在 Flink 中简单地运行它。对我来说,在一个非常简单的拓扑结构中,它至少比 Storm 快 2 倍。所以试试吧!:)
Apache Storm 和 Apache Spark 比其他的更受欢迎,Quora 上已经有很多讨论(Storm vs Spark,比较用例)。
就个人而言,我认为 Spark 是一个更好的选择。
如果您不想自己设置集群,Amazon Kinesis 可能是流处理的另一种选择。
这真的取决于你想要做什么。我喜欢 Apache Spark,但 Storm 有一些历史。我确信 Spark 中的流媒体功能已经构建,它将成为一个有竞争力的解决方案。然而,在 Spark 有一些重度用户(用于流媒体)之前,仍然会有未知的错误。
你也可以考虑社区。Spark 有一个很棒的社区。我不确定 Storm 社区的水平,因为我通常是接收数据而不处理摄取的人。我可以说我们在项目中使用了 Storm,实时分析和大量流数据给我留下了深刻的印象。