Flink的特点与优势
1. Flink与Spark和Storm的区别
- ①SparkStreaming:高吞吐、不能保证低延迟。
② Storm不能做到高吞吐、低延迟。
③Flink高吞吐、低延迟。
2.Flink的特点
①同时支持高吞吐、低延迟、高性能
②支持事件时间概念(Event Time)
大多数窗口计算采用的都是系统时间(Process Time),也是事件传输到计算框架时,系统主机的当前时间。Flink能够支持基于时间事件时间(Event Time)语义进行窗口计算,也就是时间产生的时间。这种基于时间驱动的机制使得事件即使是乱序到达,流系统也能够计算出精确的结果,保持了时间原本产生的时序性。尽量避免网络传输或硬件系统影响。
③支持有状态计算
Flink在1.4版本中实现了状态管理,所谓的状态就是流式计算过程中将算子的中间结果数据保存在内存中或者是文件系统中,等下一个时间进入算子后可以从之前的状态中获取中间结果中计算当前的结果,从而无需每次都基于全部的原始数据来统计结果,这种方式极大提升了系统的性能,并降低了计算过程资源的消耗,对于数据量大且运算逻辑非常复杂的流式计算场景,有状态发挥了非常重要的作用。
④支持高度灵活的窗口(Window)操作
在流处理应用中,数据是连续不断的,需要通过窗口的方式对数据进行一定范围的聚合计算,例如统计在过去一分钟内多少用户点击某一网页,在这种情况下,我们必须定义一个窗口&#x