为什么要在设置超时(Javascript)上使用步长函数(AWS)作为调度程序功能

为什么要在设置超时(Javascript)上使用步长函数(AWS)作为调度程序功能,javascript,amazon-web-services,aws-lambda,aws-step-functions,Javascript,Amazon Web Services,Aws Lambda,Aws Step Functions,我正在尝试创建一个API服务,任何客户机都可以将其HTTP请求和时间(以秒为单位)传递给我,在这之后他希望执行HTTP请求。 我可以想到两种方法来实现这一目标: 使用nodeJS创建lambda并使用setTimeout等待 创建一个步骤 函数等待x秒数将调用我的lambda 执行HTTP请求 我想了解的是每种方法的优缺点。setTimeout看起来很容易实现,并且没有明显的缺陷。有什么理由我应该使用step函数吗?在一瞬间,我可以想到以下内容,如果我想到更多的要点,这些内容将会更新 Lambd

我正在尝试创建一个API服务,任何客户机都可以将其HTTP请求和时间(以秒为单位)传递给我,在这之后他希望执行HTTP请求。 我可以想到两种方法来实现这一目标:

  • 使用nodeJS创建lambda并使用setTimeout等待
  • 创建一个步骤 函数等待x秒数将调用我的lambda 执行HTTP请求

  • 我想了解的是每种方法的优缺点。setTimeout看起来很容易实现,并且没有明显的缺陷。有什么理由我应该使用step函数吗?

    在一瞬间,我可以想到以下内容,如果我想到更多的要点,这些内容将会更新

  • Lambda可以超时。而STEP函数也可以等待,例如一年
  • Lambda将花费等待时间,但StepFunction不会
  • lambda的并发执行总数限制为1000,而StepFunction最多可以有1000000次打开执行 链接:


    在一瞬间,我可以想到以下内容,如果我想到更多的要点,这些内容将会更新

  • Lambda可以超时。而STEP函数也可以等待,例如一年
  • Lambda将花费等待时间,但StepFunction不会
  • lambda的并发执行总数限制为1000,而StepFunction最多可以有1000000次打开执行 链接:


    我对aws step函数没有任何了解,所以对此我不能说什么。 但是,如果您想创建一个稳定的、可维护的API,那么在NodeJ中使用
    setTimeout
    可能会有很大的延迟,这可能是一个真正的问题,原因如下:

    • 如果您希望为应用程序推出任何更新,则需要终止等待的请求,或者需要使应用程序保持在线,直到最后一个请求完成,然后才能关闭旧代码

    • 如果应用程序崩溃,则当前等待的所有请求都将丢失

    • 如果系统节点正在运行,则需要重新启动以安装关键的安全更新,那么所有挂起的请求都将丢失


    因此,
    setTimeout
    不应用于此类拍摄。如果您想在node中执行此操作,则需要将这些请求存储/镜像到持久性存储中。

    我对aws step函数一无所知,因此对此我不能做任何说明。 但是,如果您想创建一个稳定的、可维护的API,那么在NodeJ中使用
    setTimeout
    可能会有很大的延迟,这可能是一个真正的问题,原因如下:

    • 如果您希望为应用程序推出任何更新,则需要终止等待的请求,或者需要使应用程序保持在线,直到最后一个请求完成,然后才能关闭旧代码

    • 如果应用程序崩溃,则当前等待的所有请求都将丢失

    • 如果系统节点正在运行,则需要重新启动以安装关键的安全更新,那么所有挂起的请求都将丢失


    因此,
    setTimeout
    不应用于此类拍摄。如果要在节点中执行此操作,则需要将这些请求存储/镜像到持久存储中。

    秒数可以有多大?这个数字可能非常大。到目前为止,我们还没有考虑过设置任何限制。秒数可以有多大?这个数字真的可以很大。到目前为止,我们还没有考虑设置任何限制