Cloudflare 推出用于构建可扩展、弹性、多步应用程序的 Workflows 功能

Cloudflare 推出用于构建可扩展、弹性、多步应用程序的 Workflows 功能
2024年11月06日 13:30 InfoQ

作者 | Steef-Jan Wiggers

译者 | 王强

策划 | Tina

Cloudflare 在其 Cloudflare Workers 平台上推出了“Workflows”,这是一个持久的执行引擎,目前处于开放测试阶段。Workflows 使开发人员能够创建可扩展的多步应用程序,这些应用程序可以在网络不稳定、服务器停机或代码错误等故障中继续工作,提供自动重试和状态管理能力,而无需手动处理基础设施。

Workflows 于今年早些时候推出。它们支持自动重试,以确保流程可以从故障点重新启动,从而降低数据丢失和操作延迟的风险。Workflows 中的每个步骤都独立运行,在整个过程中都能保持状态,让任务变得更加模块化,故障更加可控。对开发人员来说,这种独立性可以实现细粒度的错误处理,可以重新运行或修改一个工作流的各个组件,而不会影响整个应用程序。

开发人员可以创建一个多步骤应用程序,其中各个步骤仅在满足特定条件时才会运行。这样就移除了很多不必要的操作,并提供了按照具体条件执行任务的能力,从而简化了流程,提高了资源效率,并确保每个阶段都只会运行必要的流程。

该公司关于 Workflows 的博客文章的作者写道:

每个 Workflow 的核心构建块都是步骤:也就是应用程序的一个可单独重试的组件,可以选择性地发出状态。即使后续步骤失败,该状态也会持续存在。这意味着你的应用程序不必重新启动,于是不仅可以更快地从故障场景中恢复,还可以避免重复工作。

(来源:Cloudflare 博客文章)

Workflows 不是一个独立的功能;它是 Cloudflare 基于云的大型开发工具套件的一部分,其中包括 Durable Objects 和 Workers KV(键值)存储等服务。这些集成意味着开发人员可以充分利用 Cloudflare 的云生态系统,例如使用 Durable Objects 来维护无服务器函数中的有状态数据或使用 Workers KV 来访问快速、全球分布式存储。

借助 Workflows,Cloudflare 的目标是支持更高级的用例。Cloudflare 为 Workflows 设想的一些场景包括文件处理的批处理、涉及机器学习模型的工作流以及其他计算密集型任务。此功能适合希望构建涉及数据管道、自动化和大规模实时处理的应用程序的企业和开发人员。

Fount 的 CTO 兼数据科学家 Clayton King 在推特上写道:

在使用 Queues 之后,我持怀疑态度(很棒的产品,只是 Vectorize 无法在本地运行,而 Queues 无法在开发时远程运行,这有点令人失望)。但 Workflows 非常棒。非常适合卸载长时间运行的 LLM 作业,同时保持前端的敏捷性。

Cloudflare 的持久工作流并不是这一类别唯一的云产品;微软提供了有类似功能的持久函数,AWS 提供了 Step Functions。当被问及 Step Functions 是否类似 Cloudflare Workflows 时,Simply Business 的一名员工软件工程师 Ashley Peacock 在推特上回复道:

Step Functions 我用的不多,但我认为用 IaC 和胶水编写它们可能会有点复杂。Workflows 会非常容易与任何服务集成,因为你可以用绑定。其实它们使用 Cloudflare 提供的 DSL 来定义,这一点非常好,在我看来,这是非常好的开发体验。

其他竞品还包括 Netlify Functions、Vercel Functions 和 Fastly Compute@Edge。

最后,Workflows 的定价与 Cloudflare Workers 一样,后者仅基于活跃 CPU 时间和请求引入基于 CPU 的定价。

财经自媒体联盟更多自媒体作者

新浪首页 语音播报 相关新闻 返回顶部