Apache Flink 进阶(一):Runtime 核心机制剖析( 三 )


"multi_version":false

1. 综述

本文主要介绍 Flink Runtime 的作业执行的核心机制 。 首先介绍 Flink Runtime 的整体架构以及 Job 的基本执行流程 , 然后介绍在这个过程 , Flink 是怎么进行资源管理、作业调度以及错误恢复的 。 最后 , 本文还将简要介绍 Flink Runtime 层当前正在进行的一些工作 。

2. Flink Runtime 整体架构

Flink 的整体架构如图 1 所示 。 Flink 是可以运行在多种不同的环境中的 , 例如 , 它可以通过单进程多线程的方式直接运行 , 从而提供调试的能力 。 它也可以运行在 Yarn 或者 K8S 这种资源管理系统上面 , 也可以在各种云环境中执行 。

图1. Flink 的整体架构 , 其中 Runtime 层对不同的执行环境提供了一套统一的分布式执行引擎 。

针对不同的执行环境 , Flink 提供了一套统一的分布式作业执行引擎 , 也就是 Flink Runtime 这层 。 Flink 在 Runtime 层之上提供了 DataStream 和 DataSet 两套 API , 分别用来编写流作业与批作业 , 以及一组更高级的 API 来简化特定作业的编写 。 本文主要介绍 Flink Runtime 层的整体架构 。

推荐阅读