1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 和往常一样,AWS不会公开他们的发布时间表,除非在合作伙伴简报等地方提供非常粗略的路线规划计划。我不会对这个抱太大希望 - 同步调用更多地涉及到向调用方返回结果以及能够处理应用程序错误的重试。另一方面,您想要进行重试是因为基础架构/过载错误,所以我认为您应该考虑另一种方法。
Lambda支持异步调用的最大事件时效和最大重试尝试次数。
失败的事件可以发送到死信队列(DLQ),它们包含原始事件有效载荷以及RequestID、ErrorCode(3位HTTP错误代码)和ErrorMessage(截断为1KB)。
对于异步调用,Lambda目标提供了对Lambda函数调用的可见性,并将执行结果路由到AWS服务。异步调用被排队,结果可以分别发送到Lambda、SQS、SNS或EventBridge,分为成功/失败。因此,这为您提供了更多的选项,以扩展重试,如果上述的最大事件时效和重试尝试次数设置不足以覆盖它。
您还可以使用Step Functions,尽管Lambda Destinations可能是一个更好和更便宜的解决方案。使用Step Functions,您可以使用带有心跳超时的回调模式;如果您的Lambda没有发送令牌来表示它已运行,那么心跳超时将允许您再次进行异步调用,进行另一组重试。
相关内容
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 1 年前
- AWS 官方已更新 1 年前