一、流式任务执行过程
1.任务并行
按照自己的理解,一个流程如下图所示,除非经历shuffle过程,否则流程并行度将由source的并行度决定,比如kafka分区数目,shuffle之后的并行度,可能会改变,Operator子任务(Task)彼此独立,并且可以在不同的线程中执行,并且可能在不同的机器或容器上执行。
2.OperatorChain
原理同Spark 的Satge划分相似,为了减少数据在传输过程中的序列化和反序列化损耗,将一些可以合并的Task进行合并,合并之后称多个Task为一个OperatorChain,在遇到Shuffle和用户编程时强制截断时,不进行合并。
二、架构
1.组成
a. JobClient是Flink程序和