Flink

Flink概念
1.flink是开源的,**分布式,高性能,高可用**,准确的流式处理框架
2.主要由Java代码实现
3.支持实时流(**stream**)处理和批处理(**batch**),批处理是流处理的一种
4.Flink原生支持**迭代计算,内存管理**,和**程序优化**
Flink特点

1.流式处理
2.良好的容错机制,有有状态的计算
3.具有可伸缩性(可以拓展在多台机器上运行,支持上千个节点)
4.性能:高吞吐,低延迟

Flink几种部署模式

1.Local 本地模式 单节点
2.Cluster (集群模式)Standlone,yarn
3.Cloud (云服务器)

Flink两种API

1.流式处理
2.批处理

Flink & Storm & SparkStreaming对比

在这里插入图片描述

Flink容错机制 checkpoint
  • 轻量级的容错机制(全局是异步的,局部是同步的)

  • 保证exactly-once语义

  • 用于内部失败的恢复

  • 基本原理(面试中常问)

      1.Jobmanager不断往source注入barrier
      2.barrier作为checkpoint的标志
    
savepoint
  • 流过程中的状态历史版本

  • 具有可以replay的功能

  • 外部恢复(应用重启和升级,当你不知道该从哪里恢复的时候从savepoint中恢复)

  • 两种方式触发

      1.Cancel with savepoint
      2.手动主动除发
    
flink运行时架构
  • Client
  • JobManager
  • TaskManager
  • 角色之间的通信(AKKa)
  • 数据传输(Netty实现)
Flink on Yarn 启动流程

在这里插入图片描述

Slot && parallelism

  • 一个应用需要多少Slots
  • 不设置slotSharingGroup(应用的最大并行度)
  • 设置SlotSharingGroup(所有SlotSharingGroup中的最大并行度之和)
  • 遍历每一个SlotSharingGroup,取最大的并行度数 相加

OperatorChain && Task

  • OperatorChain的优点
    • 减少线程切换
    • 减少序列化反序列化
    • 减少延迟并且提高吞吐能力
  • OperateChain组成条件
    • 没有禁用Chain
    • 上下游算子并行度一致
    • 下游算子的入度为1
    • 上下游算子在同一个slot group
    • 上下游算子之间没有发生shuffle

– https://blog.csdn.net/weixin_34874025/article/details/82730573

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值