写点什么

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

评论

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

数智合同 | 国际国内市场环境动荡对合同管理韧性的考验

用友智能财务

会计

TDengine + MQTT :车联网时序数据库如何高效接入

TDengine

数据库 tdengine 时序数据库

【YashanDB知识库】YDC连接数据库报错yasdb return code is zero

YashanDB

数据库 yashandb

云端监控新体验,打造强大的Zabbix主机监控解决方案

轶天下事

低代码:赋能大企业,重塑数字战斗力

不在线第一只蜗牛

低代码

数据资产2024年终盘点

奇点云

数据资产 数据资产入表

Flexus云服务器X实例Docker容器化实践,轻松搭建LNMP环境

轶天下事

Jenkins与SonarQube集成部署,自动化代码质量监控

轶天下事

华为云FlexusX实例下的Kafka集群部署实践与性能优化

轶天下事

【YashanDB知识库】查询空间数据提示This socket has been closed.

YashanDB

数据库 yashandb

【YashanDB知识库】数据库用户所拥有的权限查询

YashanDB

数据库 yashandb

跻身全球高成长企业之列:涛思数据斩获“2024 胡润全球猎豹企业”殊荣

TDengine

数据库 tdengine 时序数据库

Java heap、no-heap 和 off-heap 内存基础与实践

FunTester

你的 AI 编码搭子喊你领福袋啦

腾讯云代码助手

OpenTiny 2024年度榜单正式公布~

OpenTiny社区

开源 前端 OpenTiny

【YashanDB知识库】YAS-05534 unsupport operation: Create sibling files to diskgroups

YashanDB

数据库 yashandb

【YashanDB知识库】YMP迁移达梦时,报错:查询出现异常

YashanDB

数据库 yashandb

轻松搭建蝌蚪聊天室:华为云Flexus X实例实战教程

轶天下事

华为云Flexus X实例下的场景体验——小企业必备——禅道服务搭建

轶天下事

云上私人数据管家,jMalCloud个人网盘在华为云Flexus的Docker化部署实践

轶天下事

构建数据库解决方案,基于华为云Flexus X实例容器化MySQL主从同步架构

轶天下事

2025年低代码优势尽显,但挑战仍然并存

秃头小帅oi

鲸品堂2024:技术破局与业务焕新的锐变年鉴

鲸品堂

企业号 2025年1月PK榜

服务端程序员用 Crusor 开发网站的体验

孙斌

#开发

Redis Sets 使用场景有哪些?如何实现共同好友?

码哥字节

redis redis 底层原理

基于Docker与Jenkins实现自动化部署

轶天下事

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