Flink --- 容错机制Fault Tolerance

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/86562583

容错

 容错性(Fault Tolerance)是指系统对错误的容忍能力,即当运行过程中出现错误或异常时,系统能否继续正常运行(包括错误的自动检测及自动恢复等);

Flink FT的难点

  1. 快速恢复。流计算的特点就是低延迟,因此需要尽可能的降低问题恢复时间,做到用户无感知。
  2. 保证Exactly-once语义。即问题恢复时,数据不被重复计算。

FT机制:Checkpoint

  1. Source: 定时产生Barrier插入数据流;
  2. DataStream: Barrier将数据流分段,划分到不同的Checkpoint;
    在这里插入图片描述
  3. Operator: 接收到Barrier后开始对齐,直至所有输入流的Barrier达到,然后生成snapshot,继续向下游发送Barrier;
    在这里插入图片描述
  4. Sink: 接受到所有输入流的Barrier后,发送ACK,当所有sink发出ACK后,一次checkpoint完成;在这里插入图片描述

参考:

  1. 官网:https://ci.apache.org/projects/flink/flink-docs-release-1.7/internals/stream_checkpointing.html
  2. Apache Flink 漫谈系列(05) - Fault Tolerance:https://yq.aliyun.com/articles/667564?spm=a2c4e.11153940.blogcont667562.15.78ef1618rh3y18

猜你喜欢

转载自blog.csdn.net/yangguosb/article/details/86562583