每秒执行数十或数百次的 Step Functions?

Step Functions for tens or hundreds of executions per second?

我正在考虑在以下场景中使用步进函数,例如从几个来源检索数据、用它撰写邮件并发送该邮件 - 并进行适当的重试。 步骤功能是从 API 网关触发的,因此通过调用 "StartExecution".

效果很好,但我注意到 the soft limit for StartExecution is set to 2 executions/second, with a bucket size of 100。 我预计每秒有数十个或数百个请求...

我的理解是否正确,每次调用 API 都计入启动执行软限制? 这个低默认限制是否表明 Step Functions 可能不是完成这项工作的正确工具?

您说得对,每个 API 调用都计入此限制。存储桶大小为 100 这一事实让我相信可以支持更高的速率,但我不在 Step Function 团队工作。

这是一个软限制,所以我鼓励您请求提高限制。 Step Functions 团队将能够告诉您他们是否可以支持您的用例。

如果您的应用程序需要更高的限制,您应该联系 AWS 支持以增加它。

如果他们无法提高限制,您可以部署到多个区域并在它们之间进行负载平衡。这些限制是针对每个地区的。

最后我联系了 AWS Support,询问

Can we assume that a future Service Limit request to increase the bucket or refill size, e.g. first to 100 executions/second, later to maybe 500 executions/second, will be fulfilled? Would there be any concerns?

答案:

Yes we do support 500 executions/s, however since the load profile of different types of executions vary so widely it's hard to be specific about this customers executions. Furthermore, as Step Functions grows and each customer has less impact on the larger service it will be easier to increase limits.

所以我们很好:)