2025云栖大会,开启通往AGI的未来之旅 了解详情
写点什么

Netflix 开源下一代数据工作流引擎 Maestro

  • 2024-08-15
    北京
  • 本文字数:1170 字

    阅读完需:约 4 分钟

大小:547.43K时长:03:06
Netflix 开源下一代数据工作流引擎 Maestro

Maestro 为 Netflix 的数据科学家与需要大量信息的的业务线经理提供了工作流即服务。

视频和游戏流媒体服务 Netflix 已将自己的工作流编排器开源发布,这家公司的数据科学家和分析师大军每天都会使用它来了解用户行为和其他大规模数据驱动趋势。

 

这款名为 Maestro 的工作流编排器基于 Apache 2.0 许可证发布。它设计为支持数十万个工作流,并且在 Netflix 已经实现了单日多达 200 万个作业的输出。

Maestro 的工作原理

据 Netflix 工程师介绍,这款编排器具备高度可扩展性和可缩放能力,即使在流量高峰期间也能满足严格的服务级别目标 (SLO)。

Maestro 工作流程图。

 

它构建于一系列开源技术之上,包括 Git、Java(21)、Gradle 和 Docker。

 

Maestro 可以从 cURL 命令行调用,提供了创建、运行和删除工作流和相关数据批的能力。工作流以 JSON 定义,用户的业务逻辑可以打包成 Docker 镜像、Jupyter 笔记本、bash 脚本、SQL、Python 和其他格式。

 

Maestro 在后台管理工作流的整个生命周期,处理重试、排队需求并给计算引擎分配任务。它不仅支持有向无环图(DAG)——2024 年人工智能驱动浪潮中的热门技术——还支持循环工作流和多个可重用模式,包括 for each 循环、子工作流和条件分支。

 

“它支持众多工作流用例,包括 ETL 管道、ML 工作流、AB 测试管道、在不同存储之间移动数据的管道,”Netflix 的一组工程师在最近宣布发布的博客文章中写道。“Maestro 的水平可缩放性确保它可以管理大量工作流和单个工作流中的大量作业。”

Maestro 的诞生

Netflix 早已入局开源领域,它已经发布了许多内部开发的开源工具。系统压力测试工具 Chaos Monkey 于 2011 年发布,催生了整整一代混沌测试工具。Netflix 剥离的其他开源项目包括路由网关 Zuul 和微服务路由引擎 Conductor,后者现已弃用。

 

Netflix 于 2022 年在一篇解释其起源的博客文章中首次向全世界介绍了 Maestro。当时他们使用的编排器 Meson 在数千个日常作业的负载下不堪重负,尤其是在高峰使用时间更是如此。

 

“Meson 基于一个具有高可用性的单一领导者架构。随着使用量的增加,我们不得不垂直扩展系统来满足需求,并且正在接近 AWS 实例类型的限制,”工程师在 2022 年的帖子中写道。

 

更糟糕的是,那时他们预计负载每年至少增加 100%,工作流的规模也预计会增加。

从一开始,Maestro 就被设计为高度可扩展和可缩放的。它建立在 DAG 架构上,其中每个工作流都由一系列步骤组成。每个步骤都可以有依赖项、触发器和其他条件。每个工作流的业务逻辑都是独立运行的,保证满足 SLO。所有服务都设计为无状态的,因此可以根据需要来缩放。

 

在 Amazon Web Services 2023 年 Re:Invent 大会上,Netflix 工程团队进一步详细介绍了 Maestro:

https://youtu.be/kPYPgR0Gzrs

 

原文链接:https://thenewstack.io/netflix-open-sources-maestro-a-next-gen-data-workflow-engine/

2024-08-15 14:4514143

评论

发布
暂无评论
发现更多内容

《Redis入门指南》.pdf

田维常

电子书

《腾云:云计算和大数据时代网络技术揭秘》.pdf

田维常

电子书

《自己动手写网络爬虫》.pdf

田维常

电子书

《图解Java多线程设计模式》.pdf

田维常

电子书

《啊哈!算法》.pdf

田维常

电子书

《MySQL开发者SQL权威指南》.pdf

田维常

电子书

《Git权威指南》.pdf

田维常

电子书

《实战Java高并发程序设计》.pdf

田维常

电子书

《Python源码剖析》.pdf

田维常

电子书

《Java虚拟机并发编程》.pdf

田维常

电子书

《阿里巴巴Java 开发手册》.pdf

田维常

电子书

《程序员必读之软件架构》.pdf

田维常

电子书

基于 Flink SQL CDC 的实时数据同步方案

Apache Flink

《编写高质量代码——改善Java程序的151个建议》.pdf

田维常

电子书

《MySQL技术内幕(第5版)》.pdf

田维常

电子书

《一线架构师实践指南》.pdf

田维常

电子书

《实战Nginx:取代Apache的高性能Web服务器》.pdf

田维常

Java-技术专题-多线程之线程池

码界西柚

《重构:改善既有代码的设计》.pdf

田维常

电子书

《用户网络行为画像》.pdf

田维常

电子书

《人人都是架构师:分布式系统架构落地与瓶颈突破》.pdf

田维常

电子书

《精通Spring MVC4》.pdf

田维常

电子书

《从零开始学微信小程序开发》.pdf

田维常

电子书

《Docker全攻略》.pdf

田维常

电子书

《零成本实现Web性能测试——基于Apache JMeter》.pdf

田维常

电子书

《循序渐进Linux (第2版)》.pdf

田维常

电子书

《系统架构:复杂系统的产品设计与开发》.pdf

田维常

电子书

《数据结构与算法分析:Java语言描述》.pdf

田维常

电子书

《Go语言实战》.pdf

田维常

电子书

《HTML5与CSS3基础教程(第8版)》.pdf

田维常

电子书

《Java性能优化全新指南》.pdf

田维常

电子书

Netflix 开源下一代数据工作流引擎 Maestro_实时计算_Joab Jackson_InfoQ精选文章