Apache Flink 进阶(一):Runtime 核心机制剖析(12)
图8.Restart-all 错误恢复策略示例 。 该策略会直接重启所有的 Task 。
图9.Restart-individual 错误恢复策略示例 。 该策略只适用于 Task之间不需要数据传输的作业 , 对于这种作业可以只重启出现错误的 Task 。
由于 Flink 的批作业没有 Checkpoint 机制 , 因此对于需要数据传输的作业 , 直接重启所有 Task 会导致作业从头计算 , 从而导致一定的性能问题 。 为了增强对 Batch 作业 , Flink 在1.9中引入了一种新的Region-Based的Failover策略 。 在一个 Flink 的 Batch 作业中 Task 之间存在两种数据传输方式 , 一种是 Pipeline 类型的方式 , 这种方式上下游 Task 之间直接通过网络传输数据 , 因此需要上下游同时运行;另外一种是 Blocking 类型的试 , 如上节所述 , 这种方式下 , 上游的 Task 会首先将数据进行缓存 , 因此上下游的 Task 可以单独执行 。 基于这两种类型的传输 , Flink 将 ExecutionGraph 中使用 Pipeline 方式传输数据的 Task 的子图叫做 Region , 从而将整个 ExecutionGraph 划分为多个子图 。 可以看出 , Region 内的 Task 必须同时重启 , 而不同 Region 的 Task 由于在 Region 边界存在 Blocking 的边 , 因此 , 可以单独重启下游 Region 中的 Task 。
推荐阅读
- 第五人格|梦幻西游:担心的事发生了,大佬进阶110选错召唤兽,白花了2000块
- 盲僧|英雄联盟手游:打野玩家的进阶选择,盲僧,高机动性带来的直接收益
- 我的世界|剑网3药宗版本pve装备进阶路线,从大侠到新赛季毕业
- 盲僧|LOL手游盲僧是英雄代表?灵药再推进阶教学,双区王者的经验
- 进阶|永劫无间:胡桃只是奶妈?法神开发胡桃进阶打法,化身团战关键手
- 德鲁伊|魔兽怀旧服:TBC德鲁伊进阶宏,熊德无缝吃药,奶德一键迅捷治疗
- 进阶|梦幻西游:两次就进阶110灵性成功!难道中途的转折起了关键作用
- 进阶|梦幻西游手游:萌新的福利?新NPC开启测试,进阶不再问老玩家!
- 明日方舟|三国志战略版:冲桃园扫麒麟,虎臣弓进阶虎臣爆头骑指南
- 和平精英|和平精英核电站打法进阶教学,KS小雪吖提供详细攻略,吃鸡稳了