flink有什么优点值得你们这么热衷

flink 经过实现了 Google Dataflow 流式计算模型实现了高吞吐、低延迟、高性能兼具实时流式计算框架。网络

同时 flink 支持高度容错的状态管理,防止状态在计算过程当中由于系统异常而丢失,flink 周期性地经过分布式快照技术 Checkpoints 实现状态的持久化维护,使得即便在系统停机或者异常状况下都能计算出正确的结果。框架

具体的优点有如下几点运维

(1) 同时支持高吞吐、低延迟、高性能分布式

是目前开源社区中惟一一套集高吞吐、低延迟、高性能三者于一身的分布式流式数据处理框架。性能

像 Apache Spark 也只能兼顾高吞吐和高性能特性,没法作到低延迟保障orm

Apache Storm 只能支持低延时和高性能特性,没法知足高吞吐的要求对象

(2)支持事件时间(Event Time)概念事件

在流式计算领域中,窗口计算的地位举足轻重,但目前大多数框架窗口计算采用的都是系统时间(Process Time),也是事件传输到计算框架处理时,系统主机的当前时间。内存

Flink 可以支持基于事件时间(Event Time)语义进行窗口计算,这种基于事件驱动的机制使得事件即便乱序到达,流系统也可以计算出精确的结果,保持了事件本来产生时的时序性,尽量避免网络传输或硬件系统的影响。内存管理

(3)支持有状态计算

所谓状态就是在流式计算过程当中将算子的中间结果保存在内存或者文件系统中,等下一个事件进入算子后能够从以前的状态中获取中间结果,计算当前的结果,从而无须每次都基于所有的原始数据来统计结果,极大的提高了系统性能

(4)支持高度灵活的窗口(Window)操做

Flink 将窗口划分为基于 Time 、Count 、Session、以及Data-Driven等类型的窗口操做,窗口能够用灵活的触发条件定制化来达到对复杂的流传输模式的支持,用户能够定义不一样的窗口触发机制来知足不一样的需求

(5)基于轻量级分布式快照(Snapshot)实现的容错

Flink 可以分布运行在上千个节点上,经过基于分布式快照技术的Checkpoints,将执行过程当中的状态信息进行持久化存储,一旦任务出现异常中止,Flink 可以从 Checkpoints 中进行任务的自动恢复,以确保数据爱处理过程当中的一致性

(6) 基于 JVM 实现的独立的内存管理

Flink 实现了自身管理内存的机制,尽量减小 JVM GC 对系统的影响。
经过序列化/反序列化机制将全部的数据对象转换成二进制在内存中存储,下降数据存储大小的同时,更加有效的利用空间,下降GC带来的性能降低或任务异常的风险

(7)Save Points 保存点

对于 7 * 24 小时运行的流式应用,数据源源不断的流入,在一段时间内应用的终止有可能致使数据的丢失或者计算结果的不许确。

好比集群版本的升级,停机运维操做等。

值得一提的是,Flink 经过Save Points 技术将任务执行的快照保存在存储介质上,当任务重启的时候,能够从事先保存的 Save Points 恢复原有的计算状态,使得任务继续按照停机以前的状态运行。

还在等什么,快去使用 flink 吧

相关文章
相关标签/搜索