Flink是最接近于谷歌Dataflow大数据分析平台的设计的开源分布式计算引擎,其核心设计理念与Spark有很大的不同。
从设计出发点,Flink是一个流计算处理计算引擎,把批处理视为无限流计算的一种特例,Spark是批处理计算引擎,把流处理视为迷你批处理,因为设计上的差异,导致在对处理时延要求高的场景中,Flink更加合适。
从生态上来说,二者都有SQL、机器学习、图计算等基本的组件,但是Spark在丰富程度、成熟度方面比Flink有优势。
关于Flink的资料已经相当多了,笔者就不做画蛇添足写了,要掌握Flink的精妙,必须要了解其底层的基本原理,以下是必读的资料:
理解Flink的设计原则
Flink原理和实现
Flink Window
Flink Window的实现原理:Session Window
Flink State
Flink SQL
Flink SQL的大部分代码实现是阿里巴巴的Blink团队贡献给Apache的。
Flink SQL 流计算“撤回(Retraction)”案例分析
Flink CEP复杂事件处理
系列1
系列2
Flink事务
Flink Streaming Ledger 支持流式处理ACID事务!
Flink源码解析
Apache Flink源码解析 DataStream API
Flink Exactly Once语义
flink的两阶段提交协议-实现端到端的Exactly Once语义
Flink案例
其它
未完待续!
推荐阅读