鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
温故知新:
State
:存储的是某一个Operator或Key的运行的状态/历史值,默认维护在TaskManager节点的Java堆内存内存中。
Checkpoint
是Flink实现容错机制最核心的功能,根据配置周期性地基于Stream中各个Operator/task的状态State来生成快照,从而将这些状态数据定期持久化存储下来,当Flink程序一旦意外崩溃或集群扩容时,重新运行程序时可以有选择地从这些快照进行恢复,从而修正因为故障带来的程序数据异常。
Flink会在输入的数据集上间隔性地生成checkpoint barrier,通过栅栏(barrier)将间隔时间段内的数据划分到相应的checkpoint中。
JobManager
创建CheckpointCoordinator
;SourceOperator
发送Barrier栅栏(理解为执行Checkpoint的信号);栅栏对齐(Barrier Alignment):下游subTask必须接收到上游的所有SubTask发送Barrier栅栏信号,才开始进行Checkpoint操作。
扩展:Flink的Checkpoint的核心算法叫做Chandy-Lamport