流式处理,为什么Flink比Spark Streaming好?

1 、反压机制
Flink 在数据传输过程中使用了分布式阻塞队列,一个阻塞队列中,当队列满了以后发送者会被天然阻塞住,这种阻塞功能相当于给这个阻塞队列提供了反压的能力。
Spark Streaming 为了实现反压这个功能,在原来的架构基础上构造了一个 " 速率控制器 " ,这个 " 速率控制器" 会根据几个属性,如任务的结束时间、处理时长、处理消息的条数等计算一个速率。在实现控制数据的接收速率中用到了一个经典的算法,即"PID 算法 " 。
2 、延迟方面
Spark Streaming 是秒级别的
Structured Streaming 是毫秒级别的
Flink 是亚秒级别的
3 、状态存储方面
Spark 的状态管理目前做的比较简单 , 只有两个对应的算子( UpdateStateByKey 和 mapWithState )。
Flink 提供文件、内存、 RocksDB 三种状态存储,五种类型的状态,( ValueState , ListState ,
ReducingState , AggregatingState , FoldingState , MapState )。
4 、灵活的窗口
Spark 只能根据处理时间窗口批量处理。
Flink 可以基于处理时间,数据时间,没有记录等的窗口。
5 、实时方面
Flink 是真正的实时计算,在状态数据和 Checkpoint 容错上做的比较好,能够做到 exactly once 。

相关推荐
数据智能老司机1 小时前
数据工程设计模式——冷热数据存储
大数据·设计模式·架构
Hello.Reader3 小时前
Flink 连接器与格式thin/uber 制品、打包策略与上线清单
大数据·flink
隐语SecretFlow4 小时前
【隐私计算科普】如何实现可证明安全?
大数据·开源·边缘计算
lisw055 小时前
AIoT(人工智能物联网):融合范式下的技术演进、系统架构与产业变革
大数据·人工智能·物联网·机器学习·软件工程
mtouch3335 小时前
GIS+VR地理信息虚拟现实XR MR AR
大数据·人工智能·ar·无人机·xr·vr·mr
数据智能老司机5 小时前
数据工程设计模式——实时摄取与处理
大数据·设计模式·架构
Hello.Reader7 小时前
Flink 内置 Watermark 生成器单调递增与有界乱序怎么选?
大数据·flink
工作中的程序员7 小时前
flink UTDF函数
大数据·flink
工作中的程序员7 小时前
flink keyby使用与总结 基础片段梳理
大数据·flink