指挥大师:一个Netflix开源的通用工作流编排器 Maestro

文摘   科技   2024-07-28 22:49   江苏  

指挥大师:一个Netflix开源的通用工作流编排器 Maestro

仓库:Netflix/maestro

背景

通用工作流编排器,是不是感觉每个字都看得懂,就是连起来不知道是个啥😂?别担心,看完这段文字,一定让你轻松搞定。

想象一下,你是一位指挥家,手下有一支庞大的乐队,而通用工作流编排器就是你手中的指挥棒,它能帮你协调各个乐器的演奏,来共同演绎出一首美妙的交响乐。

指挥大师

具体来说,通用工作流编排器的作用如下:

  1. 精细化管理:它像一个超级管家,能帮你把各种琐事(任务)安排得井井有条。确保每个环节按时完成,提高效率。
  2. 灵活调度:想象一下,你正在玩一款角色扮演游戏,通用工作流编排器就是你的技能栏。面对不同的怪物(任务),你可以随时调整技能顺序(工作流程),轻松应对各种挑战。
  3. 自动化执行:它就像一个智能机器人,你只需编排好程序,它就能自动完成一系列的任务。
  4. 实时监控:通用工作流编排器还像一名尽职的监考老师,时刻关注着每个学生的动态(工作任务执行情况)。一旦发现有人作弊(任务出错),它就会立即采取措施,确保整个考试(工作流程)的公平性和准确性。
  5. 异常处理:生活中总会遇到一些突发状况,通用工作流编排器就像你的贴心小助手,能帮你快速应对。比如,当电饭锅在做饭时突然故障,它会立即启动其它备用方案(开动煤气灶等),保证做饭任务顺利完成。

通用工作流编排器是一个强大的助手,可以帮你轻松应对各种复杂的场景,提高工作效率,让你有更多时间享受生活!类似的开源免费的产品也很多,包括:Apache Airflow、 Quartz、 Celery、 n8n 等等。

简介

Maestro 是 Netflix 开发的一个通用工作流编排器,为数据平台用户提供了一种完全托管的工作流即服务(WAAS)。它服务于成千上万的用户,包括数据科学家、数据工程师、机器学习工程师、软件工程师、内容制作者和商业分析师,满足他们的各种用例需求。

Maestro 高层架构

功能特点

  • 高度可扩展:Maestro 设计用于支持现有的和新的用例,具有很高的可扩展性。
  • 用户友好:提供了增强的易用性,使得最终用户能够更便捷地使用。
  • 严格服务级别目标:即使在流量高峰期间,也能维持严格的服务级别目标(SLO)。
  • 日常任务调度:每天调度数十万个工作流和数百万的任务。

官方技术博文:

  • 使用 Netflix Maestro 大规模编排数据/机器学习工作流程

入门指南

前提条件

  • 需要安装 Git
  • Java 21
  • Gradle
  • Docker

构建项目

  • 运行 ./gradlew build 来构建项目

运行项目

  • 运行 ./gradlew bootRun 来启动项目

创建示例工作流

  • 使用以下命令创建一个示例工作流:
    curl --header "user: tester" -X POST 'http://127.0.0.1:8080/api/v3/workflows' -H "Content-Type: application/json" -d @maestro-server/src/test/resources/samples/sample-dag-test-1.json

获取示例工作流定义

  • 使用以下命令获取示例工作流的定义:
    curl -X GET 'http://127.0.0.1:8080/api/v3/workflows/sample-dag-test-1/versions/latest'

触发运行示例工作流

  • 使用以下命令触发运行示例工作流:
    curl --header "user: tester" -X POST 'http://127.0.0.1:8080/api/v3/workflows/sample-dag-test-1/versions/latest/actions/start' -H "Content-Type: application/json" -d '{"initiator": {"type": "manual"}}'

获取示例工作流实例

  • 使用以下命令获取示例工作流实例:
    curl -X GET 'http://127.0.0.1:8080/api/v3/workflows/sample-dag-test-1/instances/1/runs/1'

删除示例工作流及其数据

  • 使用以下命令删除示例工作流及其数据:
    curl --header "user: tester" -X DELETE 'http://127.0.0.1:8080/api/v3/workflows/sample-dag-test-1'

许可证

Maestro 是由 Netflix, Inc. 版权所有,根据 Apache 许可证 2.0 版本许可。


天马行空的大杂烩
“我不能选择那最好的,是那最好的选择我。”-泰戈尔 💖欢迎来到这里。我天马行空地写,您随心所欲地看。欢迎就我们感兴趣的内容交流学习😀🤝
 最新文章