文章目录
主流流处理框架的区别
流计算
:将大规模流动数据在不断变化的运动过程中实现数据的实时分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。
主流流计算框架:Kafka Streaming
、Apache Storm
、Spark Streaming
、Flink DataStream
等
- Kafka Streaming:是一套基于Kafka-Streaming库的一套流计算工具jar包,具有简单容易集成等特点。
- Apache Storm/Jstorm:流处理框架实现对流数据的处理和状态管理等操作。
- Spark Streaming:构建在Spark批处理之上的流处理框架,微观批处理,因此诟病 延迟较高。
- Flink DataStream/Blink:属于第三代流计算框架,吸取了Spark和Storm设计经验,在实时性和应用性上以及性能都有很大的提升,是目前为止最强的流计算引擎。
在适用性上来说:
- Kafka的优势在于:Kafka Stream以它的
轻量级
、容易部署
、低延迟
等特点在微服务领域相比较 专业的 Storm、spark streaming和Flink 而言有着不可替代的优势 - Storm是一个实时的流处理引擎,能实现对记录的
亚秒级的延迟处理
- Spark Streaming是核心Spark API的扩展,可实现实时数据流的可扩展,
高吞吐量
,容错流处理 - FlinkDataStream 对数据流进行流处理操作,将流式的数据抽象成分布式的数据流,用户可以方便地对分布式数据流进行各种操作,支持Java和Scala。