Amazon web services lambda调用另一个lambda并达到1000的并发阈值

Amazon web services lambda调用另一个lambda并达到1000的并发阈值,amazon-web-services,aws-lambda,amazon-sqs,amazon-sns,serverless-architecture,Amazon Web Services,Aws Lambda,Amazon Sqs,Amazon Sns,Serverless Architecture,场景-有一个主lambda正在拆分工作并将其分发给多个其他lambda(工人)。第一个lambda迭代并异步调用另一个lambda 如果生成的lambda数量超过1000,它会失败吗 两个lambda之间是否应该有SNS。。。那么SNS将重试 还是更复杂的方法,将消息放入队列,然后发送“X”个工作lambda的通知以开始轮询队列 有更好的办法吗?是的,生产者和消费者之间应该存在某种脱钩。最明显的方法是让制作人在一个SNS主题上创建1000条消息,并让AWS处理需要多少消费者(也许它可以重用消费者

场景-有一个主lambda正在拆分工作并将其分发给多个其他lambda(工人)。第一个lambda迭代并异步调用另一个lambda

如果生成的lambda数量超过1000,它会失败吗

两个lambda之间是否应该有SNS。。。那么SNS将重试

还是更复杂的方法,将消息放入队列,然后发送“X”个工作lambda的通知以开始轮询队列


有更好的办法吗?

是的,生产者和消费者之间应该存在某种脱钩。最明显的方法是让制作人在一个SNS主题上创建1000条消息,并让AWS处理需要多少消费者(也许它可以重用消费者lambda)。其他方法包括从插入DynamoDB的记录触发


如果您希望侦听器从SQS队列中提取消息,您需要自己触发它们,您可以使用CloudWatch(每分钟最多触发1次)

是的,生产者和消费者之间应该存在某种解耦。最明显的方法是让制作人在一个SNS主题上创建1000条消息,并让AWS处理需要多少消费者(也许它可以重用消费者lambda)。其他方法包括从插入DynamoDB的记录触发


如果您想让侦听器从SQS队列中提取消息,您需要自己触发它们,您可以使用CloudWatch(每分钟最多触发1次)

如果生成的lambda数量超过1000,Qn:它会失败吗?

是的,它会失败。但您可以请求AWS客户支持,根据地区将默认限制(1000)增加到n个数字。

我不能确定你的确切要求。根据您的要求,您需要确保在您的设计中需要生成1000个lambda

我的建议如下

建议1:-

AWS步进功能

通过AWS Step函数,您可以使用状态机语言从master调用子lambda。基于主lambda调用的方式。(例如:Cloudwatch规则、触发器)。有关更多信息,请转到:-

建议2:-

AWS ECS容器

从主Lambda向SQS发送消息。将您的子程序作为ECS容器服务启动。在这个程序中,您可以使用您的SQS消息并解决您的业务逻辑


如果生成的lambda数量超过1000个Qn:它会失败吗?

是的,它会失败。但您可以请求AWS客户支持,根据地区将默认限制(1000)增加到n个数字。

我不能确定你的确切要求。根据您的要求,您需要确保在您的设计中需要生成1000个lambda

我的建议如下

建议1:-

AWS步进功能

通过AWS Step函数,您可以使用状态机语言从master调用子lambda。基于主lambda调用的方式。(例如:Cloudwatch规则、触发器)。有关更多信息,请转到:-

建议2:-

AWS ECS容器

从主Lambda向SQS发送消息。将您的子程序作为ECS容器服务启动。在这个程序中,您可以使用您的SQS消息并解决您的业务逻辑