amazon-web-services - 顺序事件的 AWS SWF 良好实践

标签 amazon-web-services cloud amazon amazon-swf

我是 AWS SWF 的新手。仍在学习和文件处理阶段。只是提出一个愚蠢的问题。对于顺序工作流的用例,我们应该将所有实现都放在一个大事件中,而不是定义一系列将由决策者按顺序执行的事件吗?由于工作流中的每个任务的费用为 0.000..25 美元,因此这种方式将为大规模节省更多资金。

对于这种用例,在有保证的顺序工作流执行中声明一系列小事件的充分理由是什么?

最佳答案

如果您的用例实际上很简单,您可以声明一个大事件(如您所述,哪个更便宜),但总的来说,使用一组小事件的好处是:

  • 您可以使用专门的资源在不同的工作人员组(通过不同的任务列表)中运行特定步骤(其中一个事件)。例如,您可以运行两个 worker 群:一个用于一般用途的“常规”群,以及一个用于计算密集型操作的“Big CPU”群;同一工作流执行的所有部分。
  • 根据您执行事件的方式(使用 Flow 或您自己的工作运行时),您可以单独重试失败的事件。
  • 您可以独立地对您的事件进行版本控制,而不仅仅是整个工作流程的一个版本。
  • 如果工作流不断发展,使用一组事件(工作流的构建块之一)扩展或更新会更容易。
  • 如果将来您需要在工作流信号之后采取行动,您将很难分离您的逻辑来支持它。
  • 原子事件可能会被其他工作流类型(甚至相同的工作流:例如,在工作流的开始和结束时发送电子邮件)重复使用。
  • 关于amazon-web-services - 顺序事件的 AWS SWF 良好实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16762809/

    相关文章:

    amazon-web-services - AWS cloudwatch 正在截断日志

    mysql - 制作 mysqldump、gzip 并发送到 S3

    oracle - Oracle 云和 Azure 之间的 VPN

    amazon-web-services - 无法 ping ipv6 AWS EC2 实例

    linux - 如何在 Amazon Linux 上安装最新版本的 GDAL?

    amazon-web-services - 子网或使用 Elastic Beanstalk 的启动配置上的 "Auto Assign public IP"

    自定义脚本失败的 Azure ARM

    linux - 集群软件管理工具

    android - Amazon Cloud Drive 的任何 API,Amazon S3 Android 除外

    linux - 在 32 位操作系统上运行 64 位 jvm