写点什么

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

评论

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

百图生科卓越开发者计划全面升级暨《计算免疫问题白皮书》发布

硬科技星球

TiFlash 存储层概览

TiDB 社区干货传送门

数据库 分布式数据库 TiDB

开源一夏 | 五分钟带你上手ShardingJDBC实现MySQL分库分表

知识浅谈

开源 8月月更

暑气渐敛,8月让我们开源一夏!

InfoQ写作社区官方

开源 热门活动 8月月更

分布式一致性如何实现?- Raft 算法

了凡跨境洞察

分布式 微服务架构 raft 一致性算法 一致性

BPM是什么意思?BPM的优势及好处有哪些?

优秀

BPM

直播app开发,是优化直播体验不得不关注的两大指标

开源直播系统源码

软件开发 直播系统源码 语音直播系统源码 直播app

分析Flask WSGI经过Nginx代理出现两次302问题

西北望高楼

flask Python.

Git 不要只会 pull 和 push,学学这 5 条提高效率的命令(下)

CRMEB

OneFlow源码解析:Op、Kernel与解释器

OneFlow

深度学习 源码解析

面试必问系列之最强源码分析,带你一步步弄清楚Spring如何解决循环依赖

小隐乐乐

Java 面试题 Spring5源码解析

兆骑科创科创赛事平台,创业赛事活动路演,线上直播路演

兆骑科创凤阁

30分钟成为Contributor|如何多方位参与OpenHarmony开源贡献?

OpenHarmony开发者

Open Harmony

AntDB数据库亮相24届高速展,助力智慧高速创新应用

亚信AntDB数据库

AntDB 国产数据库 aisware antdb

Rancher 部署 DataKit 最佳实践

观测云

浅谈游戏音效测试点

行者AI

游戏测试

研发团队数字化转型实践

思码逸研发效能

研发效能 数字化

直播系统聊天技术(八):vivo直播系统中IM消息模块的架构实践

JackJiang

网络编程 架构设计 即时通讯 IM

基于BiGRU和GAN的数据生成方法

行者AI

人工智能

今年最火爆的词:商业分析,看这一篇就够了!

博文视点Broadview

使用设备树时对应的驱动编程

贾献华

8月月更

直播|一次镜像,处处运行!如何制作一个 StarRocks Docker 镜像?

StarRocks

选择合适的 DevOps 工具,从理解 DevOps 开始

飞算JavaAI开发助手

80篇国产数据库实操文档汇总(含TiDB、达梦、openGauss等)

墨天轮

数据库 opengauss TiDB 国产数据库 南大通用

面对营销难,有米云指出一条破局之路

ToB行业头条

实战模拟│微信 JSSDK 实现自定义分享、手机选图拍照、图片音频处理、地理位置、摇一摇等功能

经验分享 微信开发 签约计划第三季 8月月更 jssdk

未来小间距竞争的着力点在哪里

Dylan

LED显示屏 led显示屏厂家

DBPack SQL Tracing 功能及数据加密功能详解

峨嵋闲散人

分布式事务 分库分表 读写分离 dbmesh Database Mesh

官网应用开发文档及学习资源7月上新汇总

HarmonyOS开发者

HarmonyOS

浅谈大数据背景下数据库安全保障体系

阿炜小菜鸡

数据库

LeaRun.net快速开发动态表单

力软低代码开发平台

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