Apache Flink 在快手的应用与实践_flink

一.Flink 在快手应用场景与规模

1. Flink 在快手应用场景

Apache Flink 在快手的应用与实践_应用场景_02

Apache Flink 在快手的应用与实践_flink_03

Apache Flink 在快手的应用与实践_flink_04


Apache Flink 在快手的应用与实践_应用场景_05


Apache Flink 在快手的应用与实践_应用场景_06

Apache Flink 在快手的应用与实践_flink_07

2.Flink 集群规模

Apache Flink 在快手的应用与实践_数据_08

Apache Flink 在快手的应用与实践_应用场景_09

1.场景优化


1.1 Interval Join 应用场景

Apache Flink 在快手的应用与实践_flink_10


Apache Flink 在快手的应用与实践_flink_11

1.2 Interval Join 场景优化

Apache Flink 在快手的应用与实践_应用场景_12

1.2.1 Interval Join 原理:

Apache Flink 在快手的应用与实践_应用场景_13


Apache Flink 在快手的应用与实践_flink_14

1.2.2 状态存储策略选择

Apache Flink 在快手的应用与实践_数据_15

Apache Flink 在快手的应用与实践_应用场景_16

1.2.3 RocksDB 访问性能问题

Apache Flink 在快手的应用与实践_应用场景_17

Apache Flink 在快手的应用与实践_应用场景_18

Apache Flink 在快手的应用与实践_数据_19

1.2.5 RocksDB 磁盘压力问题

Apache Flink 在快手的应用与实践_flink_20

Apache Flink 在快手的应用与实践_数据_21

2.稳定性改进

Apache Flink 在快手的应用与实践_flink_22


Apache Flink 在快手的应用与实践_应用场景_23

2.1 数据源控速

Apache Flink 在快手的应用与实践_flink_24

Apache Flink 在快手的应用与实践_flink_25

Source 控速策略

Apache Flink 在快手的应用与实践_flink_26

Apache Flink 在快手的应用与实践_应用场景_27

Source 控速策略详细细节

Apache Flink 在快手的应用与实践_数据_28

SourceTask 共享状态


Apache Flink 在快手的应用与实践_数据_29


Apache Flink 在快手的应用与实践_数据_30

Apache Flink 在快手的应用与实践_应用场景_31


Source 控速结果

Apache Flink 在快手的应用与实践_应用场景_32

拿线上作业,使用 Kafka 从最早位置(2 days ago)开始消费。如上图,不限速情况下State 持续增大,最终作业挂掉。使用限速策略后,最开始 State 有缓慢上升,但是 State 大小可控,最终能平稳追上最新数据,并 State 持续在 40 G 左右。

2.2 JobManager 稳定性

Apache Flink 在快手的应用与实践_flink_33


Apache Flink 在快手的应用与实践_flink_34

2.3 作业频繁失败

Apache Flink 在快手的应用与实践_数据_35


Apache Flink 在快手的应用与实践_flink_36

3.平台化建设

3.1 平台建设:

Apache Flink 在快手的应用与实践_数据_37


Apache Flink 在快手的应用与实践_数据_38


3.2 问题定位流程优化:

Apache Flink 在快手的应用与实践_应用场景_39

Apache Flink 在快手的应用与实践_应用场景_40



- END -

Apache Flink 在快手的应用与实践_flink_41