国内在技术选型中考虑最多的三种。
从延迟看:Storm和Flink原生支持流计算,对每条记录处理,毫秒级延迟,是真正的实时计算,对延迟要求较高的应用建议选择这两种。Spark Streaming的延迟是秒级。
从容错看 :Spark Streaming和Flink都支持最高的exactly-once容错级别,Storm会有记录重复计算的可能
从吞吐量看 :Spark Streaming是小批处理,故吞吐量会相对更大。
从成熟度看: Storm最成熟,Spark其次,Flink处于仍处于发展中,这三个项目都有公司生产使用,但毕竟开源项目,项目越不成熟,往往越要求公司大数据平台研发水平。
从整合性看:Storm与SQL、机器学习和图计算的结合复杂性最高;而Spark和Flink都有生态圈内对应的SQL、机器学习和图计算,与这些项目结合更容易。
公司可以根据需求进行技术选型。