Amazon web services 并行运行lambda或更好的方法

Amazon web services 并行运行lambda或更好的方法,amazon-web-services,aws-lambda,architecture,amazon-sqs,Amazon Web Services,Aws Lambda,Architecture,Amazon Sqs,我有这样一个问题陈述: 我有大约40台服务器,我想在其中同时运行一个存储过程,彼此之间没有依赖关系。 服务器信息存储在数据库中。 为了实现这一目标,我考虑采用以下方法: lambda将从数据库获取有关服务器的所有信息。比方说 这是“lambda1” 将所有这些信息放入SQS,将有一个lambda 附在将处理请求的SQS上。比方说 “lambda2” 我想知道是否会有同样多的 “lambda2”,作为SQS中的消息数。 或者还有比这更好的方法 从SQS到Lambda时,您可以设置批量大小属性,其

我有这样一个问题陈述:

我有大约40台服务器,我想在其中同时运行一个存储过程,彼此之间没有依赖关系。 服务器信息存储在数据库中。 为了实现这一目标,我考虑采用以下方法:

  • lambda将从数据库获取有关服务器的所有信息。比方说 这是“lambda1”
  • 将所有这些信息放入SQS,将有一个lambda 附在将处理请求的SQS上。比方说 “lambda2”

    我想知道是否会有同样多的 “lambda2”,作为SQS中的消息数。 或者还有比这更好的方法

从SQS到Lambda时,您可以设置批量大小属性,其值最多为10

当接收到10条消息(如果队列中的消息不多,则小于10条)时,将调用Lambda并接收该批消息。

从SQS到Lambda时,将batch size属性设置为最大值10


当收到10条消息(如果队列中的消息不多,则小于10条)时,将调用Lambda并接收该批消息。

如果我将“批大小”设置为1,那么SQS中的每个消息是否会有1个Lambda。如果我将batch size设置为5,则可能连接到第四台服务器需要时间,并且lambdaHi会发生15分钟的超时,如果设置为1,则每条消息将有1个Lambda。如果有任何超时,您可以配置一个SQS死信队列:您好,这实际上取决于您的用例,但是配置一个批量大小为10的SQS队列和一个DLQ可以提供弹性。请记住,如果第一个使用者失败,将重试lambdainitially@mokugo-devops“如果设置为1,则每条消息将为1λ。”不,这不准确。每个Lambda将有一条消息,而不是每个消息有一条Lambda,除非消息数量非常少。Lambda/SQS集成启动时,只有5个内部侦听器轮询队列并同步调用Lambda,最多可传递给Lambda函数调用的批量大小的消息数。您好@Michael sqlbot,感谢您的注意。我用错误的方式写了这些评论:(我在这里有一个问题,如果我将batch size设置为1,SQS中的每个消息是否会有1个lambda。如果我将batch size设置为5,则可能连接到第四个服务器需要时间,并且lambdaHi会发生15分钟超时,如果设置为1,则每个消息将有1个lambda。如果有任何超时,您可以配置SQS死信队列:嗨,是的实际上,这取决于您的用例,但配置一个批处理大小为10的SQS队列和一个DLQ可以提供弹性。请记住,如果第一个使用者失败,将重试lambdainitially@mokugo-devops“如果设置为1,则每条消息将为1λ。”不,这是不准确的。每个Lambda将有一条消息,而不是每个消息有一条Lambda,除非消息数量非常少。Lambda/SQS集成启动时,只有5个内部侦听器轮询队列并同步调用Lambda,最多可调用批处理大小中传递给Lambda函数的消息数量Holidage.Hi@Michael sqlbot谢谢你的注意。我写这些评论的方式不对:(为什么你想使用AWS Lambda?如果你想在Amazon EC2实例上运行命令,你可以使用。它可以在多个实例上同时运行命令(甚至在你自己的计算机上!)并将整理每个实例的结果。为什么要使用AWS Lambda?如果希望在Amazon EC2实例上运行命令,可以使用。它可以在多个实例(甚至在您自己的计算机上!)上同时运行命令,并将整理每个实例的结果。