首次代币发行 (ICO) 和代币销售 行业领袖访谈

Uber开源Starlark Worker:用Starlark定义和运行高效工作流的新范式

首次代币发行 (ICO) 和代币销售 行业领袖访谈
Uber通过开源Starlark Worker,将强大的Cadence工作流编排平台与灵活的Starlark脚本语言结合,极大地简化了多租户场景下的工作流开发与管理,推动了工作流定义的表达力和开发效率的提升。

Uber通过开源Starlark Worker,将强大的Cadence工作流编排平台与灵活的Starlark脚本语言结合,极大地简化了多租户场景下的工作流开发与管理,推动了工作流定义的表达力和开发效率的提升。

工作流编排技术是现代企业级软件架构的重要组成部分,尤其在复杂的业务场景和大规模分布式系统中,合理设计和高效执行工作流能够保障系统的可靠性和扩展性。Uber作为拥有海量业务量和复杂技术架构的互联网公司,一直致力于打造高效且可扩展的工作流平台。近日,Uber宣布开源Starlark Worker,这一创新工具将Cadence工作流编排系统与Starlark脚本语言深度融合,极大地优化了工作流的定义和执行方式,成为业界关注的焦点。工作流编排平台在定义语言方面普遍存在两类方案:一类是基于声明式配置语言,例如JSON或YAML为基础的领域专用语言;另一类是采用通用编程语言,如Go或Java来表达具体的工作流逻辑。声明式语言直观简洁,适合描述简单流程,但随着业务复杂度提升,声明式配置往往难以支持复杂控制流,且配置文件庞大难以维护。通用编程语言则具备较强的表达力,适合灵活处理复杂逻辑,但需要遵循严格的可重放(replayable)模式,且工作流代码的每次变更都需重新部署执行环境,给多租户环境带来较大运维压力。

Uber基于这些挑战提出了Starlark Worker,将表达力强、灵活且安全的Starlark脚本语言引入Cadence工作流执行中,带来配置驱动式系统的简捷与脚本语言的自由度完美结合。Starlark是一种由Google开源的类Python脚本语言,具备确定性执行模型和沙箱安全机制,能确保工作流代码的可重放性并防止执行时发生意外副作用。Uber的Starlark Worker架构建立在Cadence坚实的基础之上,继承了Cadence在弹性扩展、故障容错、状态持久化方面的优势,同时结合Starlark简洁且富有表现力的语法,使开发者可以用熟悉的Python风格编写工作流定义。借助这种组合,用户不仅能够灵活设计复杂的条件分支、循环控制和数据转换,还能享受到无服务器(serverless)的便捷体验。一旦用户完成脚本编写,只需将.starlark文件压缩后提交给Cadence引擎,Cadence会将工作流分发给可用的Starlark Worker执行节点,无需重新部署任何服务器或Worker服务。这种方式极大降低了多租户环境下的运维难度,并提升了开发和迭代效率。

Starlark Worker的执行流程精妙结合了Cadence工作流引擎和Google开源Starlark Go语言解释器。工作流脚本文件被压缩上传后,Worker解压并调用内嵌的Starlark解释器执行代码,通过扩展的领域专用函数,与Cadence的核心功能和外部服务进行交互。这些扩展函数尤为关键,如sleep函数实现工作流暂停,uuid函数通过Cadence的SideEffect机制生成唯一标识,http.do函数则允许工作流中可靠地调用外部HTTP接口,且具备自动重试能力。开发者无需理解Cadence底层复杂原理,专注业务逻辑编写。Starlark的天生确定性特性与Cadence的可重放要求天然契合,避免了传统编程语言中需手动排除非确定性操作的潜在难题。同时,Starlark的Python风格语法降低了工程师和数据科学家的学习成本,让更多团队能够快速上手并参与工作流开发。

安全方面,Starlark的沙箱模型限制了工作流代码的外部访问权,适合支持多租户环境下的代码隔离和权限管理。Uber内部的经典应用场景是Michelangelo机器学习平台,多个团队定制各种MLOps工作流实现自动化流水线。典型的模型重训练工作流程涵盖启动训练任务、部署影子模型、数据收集和性能评估、人工审批决策以及根据结果部署生产模型等步骤。通过Starlark Worker,这些流程能够灵活编写并动态更新,避免了频繁调度和部署后台服务的繁琐流程。工作流脚本存储于对象存储系统,需要时直接提交至Cadence执行,支持快速迭代和高效调试。Starlark Worker还拥有良好的扩展能力。

用户可以通过Go语言实现自定义插件,为脚本语言注入特定领域的功能,从而进一步提升平台适用的业务广度。伴随着Cadence本身的弹性伸缩机制,Starlark Worker能够实现高并发、低延迟的工作流处理,适配Uber内部庞大的业务量,月执行量超百亿级。作为一种共享的托管服务,Starlark Worker极大减轻了用户对底层服务的管理负担,平台运维团队集中管理资源升级,用户专注于业务开发,效率与资源利用率双双提升。开源之后,Starlark Worker面向社区开放所有源码和示例,欢迎更多行业开发者探索、反馈和贡献。无论是机器学习平台、数据处理流水线,还是其他需要灵活、可靠工作流定义的应用场景,Starlark Worker都提供了一条既高效又安全的路径。总结来看,Uber开源的Starlark Worker充分发挥了Cadence工作流编排与Starlark脚本语言的优点,通过无服务器的多租户模式优化了开发体验,简化了迭代流程,提升了可维护性和可靠性。

它为企业级工作流编排提供了一个创新范式,促进了工作流开发从复杂部署到脚本化管理的转变,堪称现代分布式系统中的一大里程碑。期待未来这一平台在更多领域焕发光芒,与开源社区形成良性互动,共同推动工作流编排技术的持续进步。 。

飞 加密货币交易所的自动交易 以最优惠的价格买卖您的加密货币

下一步
本文全面介绍了MiniRust项目,阐述了其作为Rust核心语言(Core Rust)的重要性及其在精确定义Rust程序行为上的独特贡献。探讨了MiniRust的设计理念、操作语义结构、内存模型接口,以及其与其他Rust相关规范项目的比较,为理解Rust语言底层运行机制提供了宝贵参考。
2026年01月02号 20点47分50秒 深入解析MiniRust:Rust核心语言的未来规范与操作语义探究

本文全面介绍了MiniRust项目,阐述了其作为Rust核心语言(Core Rust)的重要性及其在精确定义Rust程序行为上的独特贡献。探讨了MiniRust的设计理念、操作语义结构、内存模型接口,以及其与其他Rust相关规范项目的比较,为理解Rust语言底层运行机制提供了宝贵参考。

电动自行车在提升出行便利性的同时,也带来了不断攀升的伤害风险,医疗界呼吁加强监管与公共安全意识,保障骑行与行人安全。
2026年01月02号 20点49分01秒 电动自行车伤害激增,外科医生警示其沉重负担与监管必要性

电动自行车在提升出行便利性的同时,也带来了不断攀升的伤害风险,医疗界呼吁加强监管与公共安全意识,保障骑行与行人安全。

XcodeMCP作为一个基于MCP协议的服务器工具,通过JavaScript for Automation直接控制Xcode,带来了全新的项目管理、构建和测试体验。它不仅支持精细的日志解析和环境健康检测,还提供功能丰富的命令行工具,极大提升了macOS开发者的工作效率和自动化水平。
2026年01月02号 20点49分58秒 深入解析XcodeMCP:利用AppleScript接口实现Xcode自动化管理的利器

XcodeMCP作为一个基于MCP协议的服务器工具,通过JavaScript for Automation直接控制Xcode,带来了全新的项目管理、构建和测试体验。它不仅支持精细的日志解析和环境健康检测,还提供功能丰富的命令行工具,极大提升了macOS开发者的工作效率和自动化水平。

探索从序列中准确预测进化保守的RNA二级结构的重要性及其应用,深度解析方法与技术,助力理解RNA的功能与进化机制。
2026年01月02号 20点50分33秒 揭示进化保守的RNA二级结构预测奥秘

探索从序列中准确预测进化保守的RNA二级结构的重要性及其应用,深度解析方法与技术,助力理解RNA的功能与进化机制。

探讨内容创作者如何通过专注于作品质量而非盲目追求粉丝数量,实现内容的广泛传播和深刻影响,解析内容市场的效率及其背后的机制。
2026年01月02号 21点07分21秒 别急着积累粉丝:深入理解内容创作与受众关系的真相

探讨内容创作者如何通过专注于作品质量而非盲目追求粉丝数量,实现内容的广泛传播和深刻影响,解析内容市场的效率及其背后的机制。

随着线上社交平台的深入发展,Discord于2025年发布了全新的《平台外行为政策》,旨在规范用户在Discord以外发生的行为,保障社区成员的安全与和谐。本文详细介绍了该政策的内容、适用范围及其对用户和社区管理的重要意义。
2026年01月02号 21点08分01秒 深入解析Discord 2025年全新《平台外行为政策》:保护用户安全的革新举措

随着线上社交平台的深入发展,Discord于2025年发布了全新的《平台外行为政策》,旨在规范用户在Discord以外发生的行为,保障社区成员的安全与和谐。本文详细介绍了该政策的内容、适用范围及其对用户和社区管理的重要意义。

本文详细介绍如何通过定制Emacs的Markdown模式,解决图片路径显示问题,提升Markdown编辑体验,助力开发者和内容创作者实现更高效的文档管理和预览。
2026年01月02号 21点10分16秒 深入探索Emacs:破解Markdown模式实现图片路径自定义显示

本文详细介绍如何通过定制Emacs的Markdown模式,解决图片路径显示问题,提升Markdown编辑体验,助力开发者和内容创作者实现更高效的文档管理和预览。