Apache Flink

Ch14-Flink 之 Exactly-Once 语义

January 27, 2021
Apache Flink
Flink

Flink 需要搭配特定 Source 和 Sink 才能实现精确一次处理语义。 在 Flink 中需要端到端精准一次处理的位置有三个 Source 端:通过保存消费数据的偏移量来保证一致性,所以 source 必须具有可以重置读位置的能力才行。 Flink 内部端:利用 Checkpoint 机制,把状态存盘,发生故障的时候可以恢复,保证内部的状态一致性。 Sink 端在 Flink 1.4 版本引入了两阶段提交 Sink 来解决精确一次处理语义,sink 必须具有幂等性写入和事务性写入的特性。 参考文献 # 硬核!八张图搞懂 Flink 端到端精准一次处理语义 Exactly-once(深入原理,建议收藏)

Ch10-Flink 之 BackPressure

January 3, 2021
Apache Flink
Flink

Flink 1.5 之前使用的是 TCP-Based 反压机制,自 Flink 1.5(包含) 使用的是 Credit-Based 反压机制。

tcp flow

简单来说,如果反压机制实现在 Socket 层,那便是 TCP-Based 反压机制;如果实现在 Netty 层,那便是 Credit-Based 反压机制。

...

Ch09-Flink 之 Savepoint

December 31, 2020
Apache Flink
Flink

Savepoint 跟 Checkpoint 的差别在于 Checkpoint 是 Flink 对于一个有状态应用在运行中利用分布式快照持续周期性的产生 Checkpoint,而 Savepoint 则是手动产生的 Checkpoint,Savepoint 记录着流式应用中所有运算元的状态。

...