应用开发简介
简介
Flink是一个批处理和流处理结合的统一计算框架,其核心是一个提供了数据分发以及并行化计算的流数据处理引擎。它的最大亮点是流处理,是业界最顶级的开源流处理引擎。
Flink最适合的应用场景是低时延的数据处理(Data Processing)场景:高并发pipeline处理数据,时延毫秒级,且兼具可靠性。
Flink技术栈如图1所示。
Flink在当前版本中重点构建如下特性,其他特性继承开源社区,不做增强。
- DataStream
- Checkpoint
- 窗口
- Job Pipeline
- 配置表
架构
Flink架构如图2所示。
Flink整个系统包含三个部分:
- Client
- TaskManager
- JobManager
Flink系统的管理节点,管理所有的TaskManager,并决策用户任务在哪些Taskmanager执行。JobManager在HA模式下可以有多个,但只有一个主JobManager。
Flink系统提供的关键能力:
Flink开发接口简介
Flink DataStream API提供Scala和Java两种语言的开发方式,如表1所示。