八股系列 Flink

Flink 和 SparkStreaming的区别

设计理念方面

SparkStreaming:使用微批次来模拟流计算,数据已时间为单位分为一个个批次,通过RDD进行分布式计算

Flink:基于事件驱动,是面向流的处理框架,是真正的流式计算

架构方面

SparkStreaming:角色包括 Master、Worker、Driver、Executor

Flink:角色包括 Jonmanager、Taskmanager和slot

窗口计算方面

SparkStreaming:只支持基于处理时间的窗口操作

Flink:可以支持时间窗口,也支持基于事件的窗口如滑动、滚动、会话窗口等

时间机制方面

SparkStreaming:只支持处理时间,产生数据堆积时候,处理时间和事件时间误差明显

Flink:支持事件时间、注入时间、处理时间,同事支持watermark机制处理迟到的数据,在处理大乱序的实时数据更有优势

容错机制方面

SparkStreaming:基于RDD或对宽依赖添加CheckPoint,利用 SparkStreaming的 direct方式与kafka保证 exactly once

Flink:基于状态添加CheckPoint,通过俩阶段提交协议来保证 exactly once

吞吐量与延迟方面

SparkStreaming:基于微批次的处理使得吞吐量是最大的,但付出了延迟的代价,只能做到秒级处理

Flink:数据是逐条处理,容错机制很轻量级,兼顾了吞吐量的同时又有很低的延迟支持毫秒级处理

相关推荐

  1. 八股系列 Flink

    2024-06-15 20:26:03       8 阅读
  2. Flink 项目系列

    2024-06-15 20:26:03       48 阅读
  3. 八股系列】vue的双向绑定原理是什么?

    2024-06-15 20:26:03       12 阅读
  4. 八股系列】Loader和Plugin的区别是什么?

    2024-06-15 20:26:03       12 阅读
  5. Flink 系列文章汇总索引

    2024-06-15 20:26:03       30 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-15 20:26:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-15 20:26:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-15 20:26:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-15 20:26:03       20 阅读

热门阅读

  1. 【Qt实现绘制3D图形】

    2024-06-15 20:26:03       7 阅读
  2. 描述React中的函数组件和类组件之间的区别

    2024-06-15 20:26:03       9 阅读
  3. 【设计模式】面向对象的优点

    2024-06-15 20:26:03       10 阅读
  4. React.ReactElement 与 React.ReactNode

    2024-06-15 20:26:03       10 阅读
  5. 程序分享--常见算法/编程面试题:Z 字形变换

    2024-06-15 20:26:03       11 阅读
  6. mysql社区版有可以双机吗

    2024-06-15 20:26:03       5 阅读
  7. 开窗函数MYSQL

    2024-06-15 20:26:03       7 阅读
  8. 使用多进程和 Scrapy 实现高效的 Amazon 爬虫系统

    2024-06-15 20:26:03       8 阅读
  9. MyBatis-PageHelper 源码解说

    2024-06-15 20:26:03       7 阅读
  10. 二刷算法训练营Day32 | 贪心算法(2/6)

    2024-06-15 20:26:03       8 阅读