Ruby Flow 用户的选项 - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Ruby Flow 用户的选项

这些区域有:Amazon Flow Framework已不再主动进行开发。现有代码仍将无限期继续运行,但不会再有新功能或新版本。本主题将介绍继续使用 Amazon SWF 的使用和迁移选项,以及有关如何迁移到 Step Functions 的信息。

选项 描述

继续使用 Ruby Flow Framework

目前,Ruby Flow Framework 将继续运行。如果您不执行任何操作,您的代码将继续按现有方式运行。计划从Amazon Flow Framework为 Ruby,在不久的将来。

迁移到 Java Flow Framework

Java Flow Framework 仍在进行积极开发,并将继续收到新功能和更新。

迁移到 Step Functions

Step Functions 可通过由状态机控制的可视化工作流程,来协调分布式应用程序的组件。

直接使用 SWF API,无需 Flow Framework 您可以直接使用 SWF API 继续在 Ruby 中工作,而无需使用 Ruby Flow Framework。

无论对于 Ruby 还是 Java,Flow Framework 提供的优势均在于,可让您专注于工作流程逻辑。该架构可处理大多数通信和协作的详细信息,并将某些复杂问题抽象化。迁移到 Java Flow Framework 您仍可享有同等的抽象性,您也可以直接与 Amazon SWF 开发工具包进行交互。

继续使用 Ruby Flow Framework

这些区域有:Amazon Flow Framework的功能短期内将保持不变。如果您的工作流是在Amazon Flow Framework,它们还将继续运行。如果不进行更新、支持或安全修复,最好制定一项坚定的计划,将Amazon Flow Framework为 Ruby,在不久的将来。

迁移到 Java Flow Framework

这些区域有:Amazon Flow Framework的开发将保持在积极开发中。从概念上讲,Amazon Flow Framework类似于 Java 的类似于Amazon Flow Framework适用于 Ruby:您仍可专注于工作流程逻辑,该架构将帮助您管理决策程序逻辑,还可使 Amazon SWF 的其他方面易于管理。

迁移到 Step Functions

Amazon Step Functions提供与类似于 Amazon SWF 的服务,只不过您的工作流逻辑是由状态机控制的。使 Step Functions 够通过可视化工作流来协调分布式应用程序和微服务的组件。您可通过能执行离散函数(或称为任务)的各单独组件构建应用程序,这样您能够快速扩展和更改应用程序。Step Functions 提供可靠的方法来协调组件和逐步执行应用程序的函数。图形控制台可将应用程序的组件直观地展示为一系列步骤。它可以自动触发和跟踪各个步骤,并在出现错误时重试,因此您的应用程序每次都能够按照预期顺序执行。Step Functions 记录每个步骤的状态,所以在出现错误时,您可以迅速诊断和调试问题。

在 “Step Functions” 中使用状态机对各项任务的协作进行管理,状态机以使用Amazon 状态语言。使用状态机,可不必编写和维护用于控制应用程序逻辑的决策程序。Step Functions Falmework 提供了一种直观、富有成效且敏捷的方法,通过可视化工作流来协调应用程序组件。您应该考虑使用Amazon Step Functions适用于所有新应用程序,Step Functions 提供了一个出色的平台,用于迁移到您目前在Amazon Flow Framework适用于 Ruby。

为了帮助您将任务迁移到 Step Functions 中,同时继续利用您的 Ruby 语言技能,步进函数提供了一个示例 Ruby 活动工作线程。本示例采用了实施活动工作线程的最佳实践,可用作将任务逻辑迁移到 Step Functions 中的模板。有关更多信息,请参阅 。使用 Ruby 编写的示例活动工作线程主题中的Amazon Step Functions开发人员指南

注意

对于许多客户 Step Functions 言,从Amazon Flow Framework是最好的选择。但是,如果您的进程中需要信号干预,或您需要启动子进程,将结果返回父进程,请考虑直接使用 Amazon SWF API,或迁移到Amazon Flow Framework适用于 Java 的开发。

有关 Amazon Step Functions 的更多信息,请参阅:

直接使用 Amazon SWF API

虽然Amazon Flow Framework适用于 Ruby 的一些复杂任务,您也可以直接使用 Amazon SWF API。直接使用 API 可通过构建工作流程使您完全控制任务的执行和协作,无需担心跟踪任务进度和维持任务状态等底层复杂性。