[英]get Response from AWS step function after execution of each map iteration
[英]Working around AWS Step Function Map concurrency limit
我在 AWS Step Function 中有一个Map
任务,它并行执行 100-200 个 lambda,每个运行几分钟,然后收集结果。 但是,我遇到了节流问题,在一段时间内并非所有 lambda 都已启动。 相关的 AWS 文档说您可能会遇到超过 40 个项目的限制,我相信我正在遇到这种情况。
有没有人有解决此并发限制的经验? 我可以嵌套地图吗,或者我可以将我的任务分到几个并行运行的地图中吗?
在您的 map state 中使用嵌套的 state 机器,这样您就可以让 ~40 台子 Z9ED39E2EA9315825B6A98 机器并行执行。 然后在每个子 state 机器内部使用 map state 并行处理约 40 个项目。 通过这种方式,您可以并行处理约 1600 个项目。
但在达到之前,您将达到 AWS Step Functions Quotas:
https://docs.aws.amazon.com/step-functions/latest/dg/limits.html
AWS 现在为此提供了一个直接的解决方案,称为“分布式 map 状态”,在 re:invent 2022 https 上宣布://docs.aws.amazon.com/step-functions/latest/dg/concepts-asl-use-map-状态分布式.html
它允许您执行 10,000 个并发 map state 任务。 在引擎盖下,它将它们作为子步骤 function 工作流运行,可以将其指定为作为标准或快速工作流运行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.