AWS SNS 传输到 AWS Lambda 的可靠性

isa*_*huk 3 amazon-web-services amazon-sns aws-lambda

从 AWS SNS常见问题页面(可靠性部分)我可以看到 SNS 保证至少一次将消息传送到 SQS,但不清楚在将通知发送到 Lambda 时是否同样适用。

那么问题是,当消息发送到 AWS Lambda 时,SNS 是否提供至少一次消息传递?

小智 6

问:如果订阅终端节点不可用,Amazon SNS 消息会怎样?

Lambda:如果 Lambda 不可用,SNS 将每隔 1 秒重试 2 次,然后从 1 秒到 20 分钟以指数方式回退 10 次,最后每 20 分钟重试 38 次,总共 50 次尝试,超过 13 小时在消息之前从 SNS 中丢弃。

https://aws.amazon.com/sns/faqs/


Ara*_*nde 3

同一个常见问题解答页面指出

当消息发布到某个主题时,Amazon SNS 将尝试向该主题注册的所有订阅者发送通知。由于潜在的 Internet 问题或电子邮件传送限制,有时通知可能无法成功到达 HTTP 或电子邮件端点。对于 HTTP,SNS 传递策略可用于控制重试模式(线性、几何、指数退避)、最大和最小重试延迟以及其他参数。如果成功处理所有已发布的消息至关重要,那么开发人员应该将通知传递到 SQS 队列(除了通过其他传输的通知之外)。

这适用于所有非 SQS 订户