优秘智能 · 内容中心

外部行业实践 ·

Netflix落地开源Flink Autoscaler升级流式作业资源调度能力

流媒体服务商Netflix为解决原有Flink集群级扩缩容方案适配性不足的痛点,正推进旗下30000多个流式作业向开源Apache Flink Autoscaler迁移,目前已覆盖多个AWS部署区域。新方案可实现算子粒度的资源调整决策,匹配复杂有状态流式作业的差异化处理诉求,已有内部业务团队通过该方案实现Flink计算成本的显著下降。后续Netflix会完成剩余内部自动扩缩容实例的迁移,同时探索降

仅供行业学习与场景参考,不代表优秘交付、客户关系或效果承诺。

面临的问题

Netflix此前使用的Flink自动扩缩容系统,基于集群层面的遥测数据生成决策,作业内全部算子都采用同一套扩缩容策略,无法适配带有分支、连接操作以及数TB级状态的复杂有状态处理管道。这类场景下数据流各环节的处理算力需求差异较大,集群级的统一策略无法精准匹配每个算子的实际资源诉求,要么导致资源闲置造成不必要的成本浪费,要么无法满足作业处理的性能要求,同时原有方案在处理异构流式作业扩缩容、有状态应用调整容量时产生的额外成本较高,难以适配Netflix大规模流式作业的日常运营需要。

AI 落地做法

Netflix选择引入开源的Apache Flink Autoscaler替换原有集群级扩缩容方案,这套方案可采集作业运行的各项核心指标,结合吞吐量与繁忙时间测算每个算子的实际处理速率,遍历作业的拓扑图为每个顶点单独计算所需的并行度,实现算子级别的精准扩缩容决策。同时Netflix将这套扩缩容工具和自身的内部控制平面做了深度集成,结合自身大规模作业的运行特征做了多项定制化调整,保障方案能够适配自身的业务场景需求。

实施路径

来源:InfoQ 中文(本站改写摘要,成效数据均取自原文)

项目背景

Netflix从2017年开始部署运行Apache Flink,2019年前后搭建了第一套自动扩缩容系统,这套系统读取Atlas的集群级遥测数据,通过调整TaskManager的总数量,在数千个处理管道上实现了25%到45%的资源使用量下降。随着业务不断发展,复杂有状态流式作业的占比持续提升,原有集群级扩缩容方案的短板逐渐暴露,无法匹配业务发展的需求,因此Netflix启动了向开源Flink Autoscaler迁移的相关工作。 本案例依据「InfoQ 中文」公开发布的信息整理,原文:https://www.infoq.cn/article/8JZ9IdSIxo18dcz6pZG6?utm_source=rss&utm_medium=article

业务问题

Netflix此前使用的Flink自动扩缩容系统,基于集群层面的遥测数据生成决策,作业内全部算子都采用同一套扩缩容策略,无法适配带有分支、连接操作以及数TB级状态的复杂有状态处理管道。这类场景下数据流各环节的处理算力需求差异较大,集群级的统一策略无法精准匹配每个算子的实际资源诉求,要么导致资源闲置造成不必要的成本浪费,要么无法满足作业处理的性能要求,同时原有方案在处理异构流式作业扩缩容、有状态应用调整容量时产生的额外成本较高,难以适配Netflix大规模流式作业的日常运营需要。

实践方案

Netflix选择引入开源的Apache Flink Autoscaler替换原有集群级扩缩容方案,这套方案可采集作业运行的各项核心指标,结合吞吐量与繁忙时间测算每个算子的实际处理速率,遍历作业的拓扑图为每个顶点单独计算所需的并行度,实现算子级别的精准扩缩容决策。同时Netflix将这套扩缩容工具和自身的内部控制平面做了深度集成,结合自身大规模作业的运行特征做了多项定制化调整,保障方案能够适配自身的业务场景需求。

原始来源:https://www.infoq.cn/article/8JZ9IdSIxo18dcz6pZG6?utm_source=rss&utm_medium=article