Flink的优势在哪?

1、数据量&吞吐量&延迟性

Flink的优势在哪?_第1张图片

Flink 的流处理引擎只需要很少配置就能实现高吞吐率和低延迟。

2、支持 Event Time 和乱序事件

Flink 支持了流处理和 Event Time 语义的窗口机制。

Event time 使得计算乱序到达的事件或可能延迟到达的事件更加简单。

Flink的优势在哪?_第2张图片

3、状态计算的 exactly-once 语义

流程序可以在计算过程中维护自定义状态。

Flink 的 checkpointing 机制保证了即时在故障发生下也能保障状态的 exactly once 语义。

Flink的优势在哪?_第3张图片

4、高度灵活的流式窗口

Flink 支持在时间窗口,统计窗口,session 窗口,以及数据驱动的窗口

窗口可以通过灵活的触发条件来定制,以支持复杂的流计算模式。

Flink的优势在哪?_第4张图片

5、带反压的连续流模型

数据流应用执行的是不间断的(常驻)operators。

Flink streaming 在运行时有着天然的流控:慢的数据 sink 节点会反压(backpressure)快的数据源(sources)。

Flink的优势在哪?_第5张图片

6、容错性

Flink 的容错机制是基于 Chandy-Lamport distributed snapshots 来实现的。

这种机制是非常轻量级的,允许系统拥有高吞吐率的同时还能提供强一致性的保障。

Flink的优势在哪?_第6张图片

7、Batch 和 Streaming 一个系统流处理和批处理共用一个引擎

Flink 为流处理和批处理应用公用一个通用的引擎。批处理应用可以以一种特殊的流处理应用高效地运行。

Flink的优势在哪?_第7张图片

8、内存管理

Flink 在 JVM 中实现了自己的内存管理。

应用可以超出主内存的大小限制,并且承受更少的垃圾收集的开销。

Flink的优势在哪?_第8张图片

9、迭代和增量迭代

Flink 具有迭代计算的专门支持(比如在机器学习和图计算中)。

增量迭代可以利用依赖计算来更快地收敛。

Flink的优势在哪?_第9张图片

10、程序调优

批处理程序会自动地优化一些场景,比如避免一些昂贵的操作(如 shuffles 和 sorts),还有缓存一些中间数据。

Flink的优势在哪?_第10张图片

你可能感兴趣的:(Flink的优势在哪?)