写点什么

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:4513675

评论

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

redis 的数据同步策略以及数据一致性保证

测吧(北京)科技有限公司

测试

2024-07-31:用go语言,给定两个正整数数组arr1和arr2,我们要找到属于arr1的整数x和属于arr2的整数y组成的所有数对(x, y)中,具有最长公共前缀的长度。 公共前缀是指两个数的

福大大架构师每日一题

福大大架构师每日一题

管道应用、消息收发与FIFO:先进先出

测吧(北京)科技有限公司

测试

缓存失效下的熔断和降级以及测试方法

测吧(北京)科技有限公司

测试

史上最大规模宕机事件的10个重要教训

我再BUG界嘎嘎乱杀

网络安全 安全 网安 CrowdStrike

Pytest 插件的种类

测吧(北京)科技有限公司

测试

Spring AOP概念及原理

EquatorCoco

Java spring 后端 静态代理

解锁拼多多商品数据:如何高效利用拼多多商品列表数据接口

tbapi

拼多多API 拼多多商品数据采集 拼多多商品列表数据接口 拼多多商品列表API

OpenAI发布了 “轻量化” GPT-4o mini 功能更强、成本更低

蓉蓉

GPT-4o mini

利用CSV管理测试数据实现Pytest数据驱动测试:方法与实践

测吧(北京)科技有限公司

测试

Pytest中Fixture的yield用法

测吧(北京)科技有限公司

测试

经典排序算法:冒泡排序与选择排序

测吧(北京)科技有限公司

测试

GitHub星标4000!清华大牛的CTF竞赛入门指南,真的太香了!

我再BUG界嘎嘎乱杀

网络安全 信息安全 CTF 竞赛 网安

利用Excel管理测试数据实现Pytest数据驱动测试

测吧(北京)科技有限公司

测试

Pytest中autouse参数的用法

测吧(北京)科技有限公司

测试

Pytest-ordering自定义测试用例执行顺序

测吧(北京)科技有限公司

测试

算法性能评估:时间复杂度与空间复杂度的全面解析

测吧(北京)科技有限公司

测试

利用JSON管理测试数据实现Pytest数据驱动测试:方法与实践

测吧(北京)科技有限公司

测试

在Pytest中使用Fixture作为参数的高级技巧与最佳实践

测吧(北京)科技有限公司

测试

一文探究传统数据仓库、数据湖与 Data Fabric(数据编织)的差异

Aloudata

数据仓库 数据湖 ETL Data Fabric

LIFO(后进先出)、函数调用堆与栈的区别

测吧(北京)科技有限公司

测试

20W+开发在线观看赛事直播平台:实战运营使用差异化与跟随战略案例

软件开发-梦幻运营部

利用Pytest结合YAML实现数据驱动测试:深入解析与实践

测吧(北京)科技有限公司

测试

使用pytest.ini 文件配置默认参数

测吧(北京)科技有限公司

测试

Redis哨兵模式的设计架构及其机制

测吧(北京)科技有限公司

测试

苹果发布会分享思考:重新定义 AI 交互体验

inBuilder低代码平台

开源 用户体验

Network Control in Smart Manufacturing: Comparing IPQ9574 and IPQ5018

wallyslilly

ipq5018 ipq9574

工信部:2024上半年我国信息安全领域收入909亿元

我再BUG界嘎嘎乱杀

网络安全 安全 信息安全 网安

什么是Fixture作用范围

测吧(北京)科技有限公司

测试

通过Fixture实现参数化测试

测吧(北京)科技有限公司

测试

新手程序员要知道的小技巧,赶紧收藏码住!

高端章鱼哥

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