七年前如果提起实时流式计算,老程序猿们想到的应该是 Storm,四年前再提到,大家脱口而出的会是 Spark Streaming,现在再说到实时计算那无疑都会指向 Flink 了。可见开源世界技术的迭代是飞速的,稍不留神就落伍了。
言归正传,上一篇我们讲了 SparkStreaming 和简单地介绍了衍生的 StructedStreaming,也提到了 StructedStreaming 在很多概念和设计理念上都是和 Flink 相似的,The Dataflow Model 是一篇非常经典的 Paper,建议学习流式计算的小伙伴都可以好好地读这篇论文。
本篇面试内容划重点:各种角色和概念,Time、Window、WaterMark。
Flink 运行架构详解
Flink 集群运行的各个组件:
- 在 Client 端,Flink 会根据开发者写的程序代码构建作业图(JobGraph),逻辑数据流图(logical dataflow graph),然后将任务提交给 Dispatcher 进行下一步执行。<