【问题标题】:AWS Flow Framework: Can we run activity worker and activity task on different EC2 instancesAWS Flow Framework:我们可以在不同的 EC2 实例上运行活动工作者和活动任务吗
【发布时间】:2015-08-24 08:48:30
【问题描述】:

我是 AWS 新手,想使用简单工作流服务。 目前我知道是

网址:http://docs.aws.amazon.com/amazonswf/latest/awsflowguide/awsflow-basics-application-structure.html

1) 工作流启动器、工作流工作者(决策者)和活动工作者 可以在同一个 EC2 实例上运行,或者每个都可以在不同的 EC2 实例上运行。

2) 活动工作者执行活动任务或活动方法

我的问题是:

1) 我能否在一个 EC2 实例上运行 Workflow starter、workflow worker(决策者)、Activities worker 以及不同 EC2 实例上的 Activity 任务或 Activity 方法?

示例:

EC2 实例 1 -> 工作流启动器、工作流工作者(决策者)、活动工作者

EC2 实例 2 -> 活动任务或活动方法

如果上述事情是可能的,那么任何人都可以指出一些例子吗?

我看过 AWS Helloworld 分布式应用程序,但它 在不同的 EC2 实例上运行工作流工作者和活动工作者,其中活动任务与活动工作者在同一台机器上运行 网址:http://docs.aws.amazon.com/amazonswf/latest/awsflowguide/getting-started-example-helloworldworkflowdistributed.html

要求 一开始只会运行一个 EC2 实例:

1) 在这个正在运行的 EC2 实例上,我将拥有 Workflow starter 和 workflow worker(决策者)。

2) 根据决策任务列表中收到的任务,决策者将执行自定义逻辑并基于自定义 逻辑结果我想创建一个新的 EC2 实例并在其上执行活动工作者。

问题是我在某处读到工作流工作者(决策者)和活动工作者必须在接收决策任务列表中的任务之前启动,就我而言,由于成本原因,我无法从一开始就继续运行 2 个 EC2 实例。

因此,为了解决这个问题,我的解决方案是

1) 在 EC2 的运行实例上启动决策者和活动工作者。

2) Activity Worker 收到 Activity 任务列表中的任务后,将创建一个新的 EC2 实例并在其上执行 Activity。

谢谢

【问题讨论】:

    标签: amazon-web-services amazon-ec2 amazon-s3


    【解决方案1】:

    是的。你绝对可以做到这一点。您还可以在多台机器上拥有多个工作人员(工作流和活动)。只要工作完成,您就不应该真正关心工作流和活动在哪里运行。

    这是我编写的一个示例,用于展示如何在 java 1.8 中使用流

    https://github.com/mirceal/swf-flow-java18-sample

    在 App.java 中,注释第 42 行 (aw.start()) 并构建示例。在第 43 行 (wfw.start()) 和构建示例之后。将 2 个构建的样本复制到 2 台不同的机器上,您应该可以实现您的要求。 第 51 行开始工作流。

    编辑

    将工人视为具有执行任务能力的实体。工作人员不断查看 SWF(轮询 SWF),如果有工作,他们会拿起并执行它。

    没有什么可以阻止您在同一台机器上运行工作流和活动工作者。也没有什么可以阻止您从活动中启动 EC2 实例。
    如果您只需要在一台机器上运行部分活动,而在其他机器(您启动的机器)上运行其他活动,您通常会使用不同的 SWF 任务列表。

    【讨论】:

    • 感谢您的示例。在按照建议注释代码后的示例中,我们通过创建 2 个不同的 jar 在单独的机器上运行工作流工作者(决策者)和活动工作者(运行其中存在的活动)。但是,这意味着我们在同一台机器上运行 Activity 工作人员和活动,我们不能将活动工作人员和活动任务/方法分开以在不同的机器上运行。我说的对吗?
    • 在主帖中添加了我的要求。
    猜你喜欢
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多