什么是 Amazon Simple Workflow Service? - Amazon Simple Workflow Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

什么是 Amazon Simple Workflow Service?

亚马逊简单工作流服务 (Amazon SWF) Simple Workflow Service 提供了一种构建、运行和扩展具有并行或顺序步骤的后台任务的方法。借助 Amazon SWF,您可以跨分布式组件协调工作,跟踪任务状态。

在 Amazon SWF 中,任务代表由应用程序组件执行的逻辑工作单元。跨应用程序协调任务包括管理应用程序逻辑流程中的任务间依赖关系、调度和并发性。Amazon SWF 使您可以控制任务的实施和协调,而不必担心潜在的复杂性,例如跟踪任务进度和维护其状态。

使用 Amazon SWF 时,您需要实施工作人员来执行任务。工作人员可以在云基础设施(例如亚马逊弹性计算云 (Amazon EC2))上运行,也可以在您自己的内部环境中运行。您可以创建长时间运行的任务,也可以创建可能失败、超时或需要重启的任务,还可以创建可能以不同的吞吐量和延迟完成的任务。Amazon SWF 会存储任务,并在任务准备就绪时将其分配给工作线程、跟踪任务进度并维护任务状态,包括任务完成的详细信息。

为了协调任务,您需要编写一个从 Amazon SWF 获取最新任务状态并使用该状态启动后续任务的程序。Amazon SWF 可以持久地保持应用程序的执行状态,因此您的应用程序可以抵御单个组件故障。借助 Amazon SWF,您可以独立构建、部署、扩展和修改应用程序组件。

Amazon SWF 适合需要协调任务的用例,包括媒体处理、Web 应用程序后端、业务流程和分析管道。

使用 Amazon SDK 进行开发

适用于 Java、.NET、Node.js、PHP、Python 和 Ruby 的软件开发 Amazon 工具包支持 Amazon SWF,这为以你选择的编程语言使用 Amazon SWF HTTP API 提供了一种便捷的方式。

您可以使用这些库公开的 API 开发决策者活动工作人员或工作流程启动者。而且,您可以通过这些库使用可视性操作,从而开发自己的 Amazon SWF 监控和报告工具。

要下载用于开发和管理应用程序的工具(包括软件开发工具包),请访问开发者中心。 Amazon

有关每个软件开发工具包中的 Amazon SWF 方法的详细信息,请参阅该软件开发工具包的特定语言参考文档。

考虑一下 Amazon Flow Framework

Amazon Flow Framework 是一款增强版 SDK,用于编写在 Amazon SWF 上作为工作流程运行的分布式异步程序。该框架可用于 Java 编程语言,并提供用于编写复杂分布式程序的类。

使用 Amazon Flow Framework,您可以使用预配置的类型将工作流程的定义直接映射到程序中的方法。 Amazon Flow Framework 支持标准的面向对象的概念,例如基于异常的错误处理,这使得实现复杂的工作流程变得更加容易。使用编写的程序 Amazon Flow Framework 可以完全在您的首选编辑器或 IDE 中创建、运行和调试。有关更多信息,请Amazon Flow Framework访问网站,并参阅Amazon Flow Framework 《Java 开发人员指南》

使用 HTTP 服务 API 进行构建

Amazon SWF 提供了可通过 HTTP 请求访问的服务操作。您可以使用这些操作直接与 Amazon SWF 通信,也可以使用它们以任何可通过 HTTP 与 Amazon SWF 通信的语言来开发自己的库。

您可以使用服务 AP I 开发决策者活动工作人员工作流程启动者。您还可以通过 API 使用可见性操作来开发自己的监控和报告工具。

有关如何使用 API 的信息,请参阅向 Amazon SWF 发出 HTTP 请求