Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

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

1. Flink 在快手应用场景

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

2.Flink 集群规模

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

1.场景优化

1.1 Interval Join 应用场景

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

1.2 Interval Join 场景优化

Apache Flink 在快手的应用与实践
1.2.1 Interval Join 原理:

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践
1.2.2 状态存储策略选择

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

1.2.3 RocksDB 访问性能问题

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

1.2.5 RocksDB 磁盘压力问题
Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

2.稳定性改进

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

2.1 数据源控速

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

Source 控速策略

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

Source 控速策略详细细节

Apache Flink 在快手的应用与实践

SourceTask 共享状态

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

Source 控速结果

Apache Flink 在快手的应用与实践

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

2.2 JobManager 稳定性

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

2.3 作业频繁失败

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

3.平台化建设

3.1 平台建设:

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

3.2 问题定位流程优化:

Apache Flink 在快手的应用与实践

Apache Flink 在快手的应用与实践

大家都在看

Flink系列:


- END -

Apache Flink 在快手的应用与实践