体系结构平台
Apache Flink在Kappa体系结构上工作。Kappa体系结构具有单个处理器-流,该流将所有输入视为流,而流引擎则实时处理数据。kappa体系结构中的批处理数据是流的一种特殊情况。下图显示了Apache Flink体系结构。
Kappa体系结构的关键思想是通过单个流处理引擎处理批处理数据和实时数据。
大多数大数据框架都在Lambda体系结构上工作,该体系结构具有用于批处理和流数据的单独处理器。在Lambda架构中,您具有用于批处理和流视图的单独的代码库。为了查询和获取结果,需要合并代码库。不维护单独的代码库/视图并合并它们是很痛苦的,但是Kappa体系结构解决了这个问题,因为它只有一个视图-实时,因此不需要合并代码库。
这并不意味着Kappa架构会取代Lambda架构,它完全取决于用例和决定哪种架构更可取的应用程序。
下图显示了Apache Flink作业执行架构。
以下是,上图的说明
程序(program)
这是一段代码,您可以在Flink群集上运行。
Client
它负责获取代码(程序)并构造作业数据流图,然后将其传递给JobManager。它还检索作业结果。
JobManager
从客户端(Client)收到作业数据流图后,它负责创建执行图。它将作业分配给群集中的TaskManager,并监督作业的执行。
TaskManager
它负责执行JobManager分配的所有任务。所有TaskManager均以指定的并行度在各自的插槽中运行任务。负责将任务状态发送到JobManager。