本文介绍: Apache Flink 的前身是柏林理工大学一个研究项目, 在 2014 被 Apache 孵化器所接受,然后迅速地成为了Apache Software Foundation的顶级项目之一。2019 年 1 年,阿里巴巴收购了 Flink 的母公司 Data Artisans,并宣布开源内部的 Blink,Blink阿里巴巴基于 Flink 优化后的版本,增加了大量的新功能,并在性能稳定性上进行了各种优化,经历过阿里内部多种复杂业务的挑战和检验。Flink一个分布式的流处理

一、Flink 简介

Apache Flink 的前身是柏林理工大学一个研究项目, 在 2014 被 Apache 孵化器所接受,然后迅速地成为了Apache Software Foundation的顶级项目之一。2019 年 1 年,阿里巴巴收购了 Flink 的母公司 Data Artisans,并宣布开源内部的 Blink,Blink 是阿里巴巴基于 Flink 优化后的版本,增加了大量的新功能,并在性能稳定性上进行了各种优化,经历过阿里内部多种复杂业务的挑战和检验

Flink 是一个分布式处理框架,它能够对有界和无界的数据流行高效的处理

二、Flink 组件

Flink 采用分层架构设计,从而保证各层在功能和职责上的清晰。如下图所示,由上而下分别是 API & Libraries 层、Runtime 核心层以及物理部署层:

在这里插入图片描述

1. API & Libraries

这里的API可以进行更具体的划分
在这里插入图片描述
API 的一致性由下至上依次递增,接口的表现能力由下至上依次递减

2. runtime

一层是 Flink 分布式计算框架核心实现层,包括作业转换任务调度资源分配任务执行等功能,基于这一层的实现,可以流式引擎下同时运行处理程序和批处理程序

3. 物理部署

Flink 的物理部署层,用于支持不同平台上部署运行 Flink 应用

Flink支持多种部署模式本地集群(Standalone/YARN)、云(GCE/EC2)

在这里插入图片描述

三、Flink 集群架构

Flink采用标准的 Master – Slave 结构, 其中,Master 部分包含了三个核心组件:Dispatcher、ResourceManager 和 JobManager,而 Slave 则主要是 TaskManager 进程。它们的功能分别如下

四、Flink基本编程模型

所有的Flink程序都是由三部分组成的: Source 、Transformation 和 Sink

每一个dataflow以一个或多个sources开始以一个或多个sinks结束dataflow 类似于任意的有向无环图(DAG)

下面是一个由Flink程序映射为Streaming Dataflow的示意图:

在这里插入图片描述
转化为并行数据流
在这里插入图片描述

五、Flink 的优点

原文地址:https://blog.csdn.net/kazuhura/article/details/134791744

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_41854.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注