【发布时间】:2018-09-18 08:42:28
【问题描述】:
背景: 我有一个由 6 个 lambda 函数组成的管道(链接在一起),由 SNS 通知触发,该通知在文件登陆 S3 时生成。该管道实质上获取文件(几 GB),对其进行过滤(创建 Spark 集群以运行作业,然后在最后删除),并将其插入数据库。 Lambda 正在编排流程。
问题: 如果一个 Lambda 失败,则链会中断,因此无法进行有效的故障处理。其次,如果轮询/计算时间超过 5 分钟,我们会遇到超时,因此没有有效的重试。如果 lambda 失败,则需要很长时间来测试/调试问题。也没有可见性,例如有多少工作失败,有多少通过?我们不知道。通过电子邮件获取大量 SNS 通知并不是非常有效/有用。如果链中断,我们将无法执行清理操作,例如删除 SPark 集群或内务步骤。
我的问题: AWS Step Functions 是解决上述问题的好选择吗?您什么时候不使用 Step Function 服务?如果您无法通过 SNS 调用 Step Function,那么每当文件登陆 S3 时调用它的最佳方式是什么?随意分享任何其他方法来轻松有效地解决此用例。
【问题讨论】:
-
可能会在devops.stackexchange.com获得更多答案
-
看起来这对你很有用。 read.acloud.guru/…
标签: amazon-web-services aws-lambda serverless aws-step-functions