本章主要介绍flink基本原理:flink架构、flink组件、flink流批处理对比、flink特点、flink的一些应用场景、flink术语介绍
Apache Flink 是一个在无界和有界数据流上进行状态计算的框架和分布式处理引擎。 Flink 已经可以在所有常见的集群环境中运行,并以 in-memory 的速度和任意的规模进行计算。
Flink特点:
Flink是一个开源的流处理框架,具有一下特点:
分布式:flink程序可以运行在多台机器上
高性能:处理性能高
高可用:支持高可用(ha)
准确:flink可以保证数据处理的准确性
容错:flink提供状态计算,可以记录数据的处理状态,当数据处理失败的时候,能够无缝从失败中恢复,并保持精确一次 (Exactly-once)
Flink 架构
flink架构分为四层,包括deploy层、core层、api层、Library层,如图所示:
deploy层:该层负责flink的部署模式,支持多种部署模式:local、stanalone、yarn和云服务器