Flink是一个面向分布式数据流处理和批量处理的开源计算平台。
Flink优点
支持高吞吐,低延迟,高性能的流处理
支持高度灵活的窗口操作
支持有状态计算的Exactly-once语义
Flink是基于master-slave风格的架构
Flink集群启动时,会启动一个JobManager进程,至少一个TaskManager进程
JobManger
Flink系统的协调者,负责接收job,调度组成Job的多个task执行
收集Job的状态信息,并管理Flink集群中从节点的TaskManager
TaskManager
实际负责执行计算的worker,在其上执行FlinkJob的一组task
负责管理其所在节点上的资源信息,如内存,磁盘网络,在启动时候将资源 的状态向JobManager汇报
client
用户提交一个Flink程序时,会首先创建一个client,该client首先对用户提交的Flink程序进行预处理,并提交到Flink集群
client会将用户提交的Flink程序组装成一个JobGraph,并且以JobGraph的形式提交