Flink发展史
2008:柏林理工大学的一个研究性项目Stratosphere
2014-04:Stratosphere贡献给Apache基金会,成为Apache的孵化项目
2014-12:成为Apache顶级项目
18 Jun 2015:发布0.9版本(第一个稳定版本)
3 Mar 2016:Flink 1.0.0
3 Aug 2016:Flink 1.1.0
30 Jan 2017:Flink 1.2.0;
26 May 2017:Flink 1.3.0;
12 Dec 2017:Flink 1.4.0;
26 May 2018:Flink 1.5.0;
9 Aug 2018:Flink 1.6.0;
30 Nov 2018:Flink 1.7.0;
2019年1月8日,阿里巴巴以9000万欧元收购该公司!
9 Apr 2019:Flink 1.8.0
22 Aug 2019:Flink 1.9.0
11 Feb 2020:Flink 1.10.0
6 Jul 2020:Flink 1.11.0
7 Dec 2020:Flink 1.12.0
Apr 2021:Flink 1.13.0
Flink的特点:
支持Scala和Java API
支持批流一体
同时支持高吞吐、低延迟、高性能
支持事件时间和处理时间语义,基于事件时间语义能够针对无序事件提供精确、一致的结果;基于处理时间语义能够用在具有极低延迟需求用中
支持不同时间语义下的窗口编程
支持有状态计算
支持具有Backpressure功能的持续流模型
提供精确一次(exactly once)的状态一致性保障
Flink在JVM内部实现了自己的内存管理
基于轻量级的分布式快照CheckPoint的容错
支持SavePoint机制,手工触发,适用于升级
支持高可用性配置(无单点失效),与k8s、Yarn、Apache Mesos紧密集成。
提供常见存储系统的连接器:Kafka,Elasticsearch等
提供详细、可自由定制的系统及应用指标(metrics)集合,用于提前定位和响应问题
Flink与业界其他框架的对比
Flink Spark Storm Storm-Trident
处理模型 Native Micro-Batch Native Micro-Batch