【问题标题】:Is there a service or framework in Native AWS for task management?Native AWS 中是否有用于任务管理的服务或框架?
【发布时间】:2020-06-18 19:34:27
【问题描述】:

我正在寻找原生 AWS 中的服务或框架,它给出了一个 csv 文件,创建一个任务并异步处理该任务,并向客户端返回一个任务 ID 或作业 ID,并在任务完成时通知客户端。对此的一些要求:

  • 客户端应该能够随时通过作业 ID 检查任务的进度。
  • 处理整个任务可能需要 15 分钟以上。
  • 应该有一种方法让客户看到失败的原因。
  • 所有业务逻辑都在订单项级别。 (这是开发者唯一应该关心的事情)

Native AWS 中是否有任何内置服务或框架?我知道可以使用一些 SQS、Lambda、SNS、Dynamodb 来构建这种服务,但我只是想看看是否有可用的 AWS 产品可以做到所有这些?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-dynamodb amazon-sqs amazon-sns


    【解决方案1】:

    最接近这个概念的服务是AWS Step Functions

    但是,它只是解决方案的一个组件。您仍然需要使用 Amazon EC2 或 AWS Lambda 创建 compute 组件。您需要为用户构建界面,添加身份验证、通知等。

    底线:没有任何 AWS 服务可以满足您的描述。但是,如果您想自己创建一个,则有一些构建块。

    【讨论】:

    • 感谢约翰的回复。您认为使用阶梯函数比不使用阶梯函数有什么特别的优势吗?
    • Step Functions 可以处理大部分逻辑(例如创建作业、跟踪作业状态、触发 Lambda 函数),但您仍然需要构建您想要的“任务管理系统”。鉴于您的任务可能需要超过 15 分钟,它不适合单个 Lambda 函数。因此,您要么需要将任务拆分为子组件,要么在 Amazon EC2 上进行计算(在这种情况下,Step Functions 并不是特别有用)。您可能想四处寻找能够完成大部分工作的开源任务系统,以节省您的大部分精力。
    • 你提到的例子比如创建工作,跟踪工作状态。我们还不需要 lambdas 吗?只是每一步都对应一个 lambda,对吧。我想到了一种不使用步进功能并进行任务管理的解决方案。我正在考虑将 at 作为一项服务。 drive.google.com/file/d/1c3GLNASqVi_ZpSQ4xcM9KA7h2E3zCmLi/…。您认为 Step Function 可以解决此解决方案的哪些缺点?
    • 当然,你可以自己写。 Step Functions 可以在每个步骤中提供任务的“整体视图”,因此您不必自己编写“任务跟踪”部分。这取决于你!
    猜你喜欢
    • 1970-01-01
    • 2019-11-19
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多