【发布时间】:2021-02-12 04:23:54
【问题描述】:
以下场景:
我有一个 lambda (L1),它是由多个服务 (s1, s2, ... sN) 通过配置了 cron 的 scheduleRule(r1 ,r2 , ... rN) 触发的。
问题是两个 L1 类型的 Lambda 由同一个服务通过同一个 scheduleRule 触发,决不能同时运行。因此,由s1 超过r1 触发的 lambda,如果在下一次计划执行之前尚未完成,则可能不会再次启动。
应该允许不同服务通过不同规则触发的两个 Lambda 同时运行。
目前我能想到的唯一可能是在规则和 lambda 之间放置一个SQS。
有更优雅的解决方案还是SQS 听起来实用?
【问题讨论】:
-
这个“感觉”像是一种反模式。 Lambda 意味着是无状态的,因此创建诸如此类的依赖项是违反规定的。上面听起来的编排工作应该利用步进函数。
标签: amazon-web-services aws-lambda amazon-sqs