程序员

主流流式计算框架比较:storm,spark,flink

2019-11-19  本文已影响0人  Wayne维基

概要

参考:https://blog.csdn.net/dingxiangtech/article/details/83022673
参考:https://blog.csdn.net/xiao_jun_0820/article/details/79825077

功能指标 Storm Spark Flink
处理模式 native micro-batching native
消息保障 至少一次 有且一次 有且一次
实时性 低延迟,亚秒级 高延迟,秒级 低延迟,亚秒级
吞吐量 高(Storm3-5倍)
流量控制 不支持 支持 支持
容错方式 record ack rdd based check point check point

native Vs micro-batching

参考:https://www.cnblogs.com/tgzhu/p/7119477.html

两种方法都有其先天的优势和不足

主要原理

1 Apache Storm

在Storm中,需要先设计一个实时计算结构,我们称之为拓扑(topology)。之后,这个拓扑结构会被提交给集群,其中主节点(master node)负责给工作节点(worker node)分配代码,工作节点负责执行代码。在一个拓扑结构中,包含spout和bolt两种角色。数据在spouts之间传递,这些spouts将数据流以tuple元组的形式发送;而bolt则负责转换数据流。

2 Apache Spark

Spark Streaming,即核心Spark API的扩展,不像Storm那样一次处理一个数据流。相反,它在处理数据流之前,会按照时间间隔对数据流进行分段切分。Spark针对连续数据流的抽象,我们称为DStream(Discretized Stream)。 DStream是小批处理的RDD(弹性分布式数据集), RDD则是分布式数据集,可以通过任意函数和滑动数据窗口(窗口计算)进行转换,实现并行操作。

3 Apache Flink

官网:https://flink.apache.org/

针对流数据+批数据的计算框架。把批数据看作流数据的一种特例,延迟性较低(毫秒级),且能够保证消息传输不丢失不重复。

小结

Flink综合评分高,适合以下场景:

ps:flink国内用户:阿里巴巴/美团/华为/滴滴/快手等,社区更新具有一定保障。

上一篇 下一篇

猜你喜欢

热点阅读