【问题标题】:Application architecture with AWS Lambda使用 AWS Lambda 的应用程序架构
【发布时间】:2019-04-13 02:51:21
【问题描述】:

这与 AWS Lambda 实施有关。我正在研究.netcore 中的一些 lambda 函数。有 14 个不同的旅游目的地,在票价、酒店预订、租金等方面有不同的规则和规定。我有一个图书馆来处理每个旅游目的地的这些规则。在那个图书馆里,我总共有 14 个班级负责人到这些旅游目的地。最后,当一些代理想要预订多个目的地时,他们需要在最后提交它们,以便由单独的图书馆处理进一步的流程。 现在,我点击了 14 个不同的菜单项,打开了旅行目的地的选择过程。我们正在尝试将此应用程序转换为使用 AWS lambda。最初,我们认为每个旅行目的地只有一个 lambda;当提交行程以进行进一步处理时,最终有 14 个不同的 lambda 和一个单独的 lambda 用于进一步处理。因此,当任何用户点击任何旅行菜单项时,规则和规则、逻辑将由指定的 lambda 函数处理。

但是,代理可以保存他们的行程并在将来安排他们的另一项功能。此类行程必须仅在预定日期处理。假设其中一个行程配置了5个目的地,则指定5个lambda将处理这些目的地进行规则和规定,然后需要将其提交给进一步处理lambda。 这是问题所在,这 5 个 lambdas 将异步/同时运行。我如何告诉这 5 个 lambdas 彼此等待,直到所有 5 个完成工作,然后可以启动单独的 lambdas 以进行提交/进一步处理?因为只有在使用单独的 lambda 函数完成所有 5 个旅行目的地的处理后,才能进行进一步的处理。

我尝试寻找 lambda 阶跃函数,但这会扼杀异步模式的美感。还有其他选择吗?

【问题讨论】:

  • 用更短更简单的话来说,我必须同时处理旅行目的地 lambda,一旦全部完成,然后将所有内容发送到进一步处理 lambda。我需要找到一些机制,使所有旅行目的地 lambda 彼此等待完成,以便在所有工作完成后将所有内容发送到进一步处理 lambda。

标签: architecture aws-lambda


【解决方案1】:

查看Step-Functions,这些将允许您将工作流设置为状态机,从而允许您在 lambda 之间协调和传递数据。您还可以让它将数据传递给其他服务,例如 ECS、SNS 和 SQS。

【讨论】:

  • 如果我使用状态函数,那么我将不得不逐个处理 lambda,这是正确的吗?以上面的例子,我是否可以并行处理目标 lambda?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
  • 2019-07-02
相关资源
最近更新 更多