【发布时间】:2020-02-06 04:11:33
【问题描述】:
SNS 可以在固定的时间段内为其每个消费者保留消息。例如。移动用户为 20 分钟,SQS 为 23 小时。之后会发生什么?据我所知,消息被丢弃。为什么 SNS 没有像 SQS 和 Lambda 那样的死信队列,也没有像其他消息传递系统那样?谢谢
【问题讨论】:
标签: amazon-web-services amazon-sns
SNS 可以在固定的时间段内为其每个消费者保留消息。例如。移动用户为 20 分钟,SQS 为 23 小时。之后会发生什么?据我所知,消息被丢弃。为什么 SNS 没有像 SQS 和 Lambda 那样的死信队列,也没有像其他消息传递系统那样?谢谢
【问题讨论】:
标签: amazon-web-services amazon-sns
是的,SNS 现在支持死信队列 (DLQ): https://aws.amazon.com/about-aws/whats-new/2019/11/amazon-sns-adds-support-for-dead-letter-queues-dlq/
在这里你可以更好地理解 SNS 消息传递重试策略: https://docs.aws.amazon.com/sns/latest/dg/sns-message-delivery-retries.html
【讨论】:
我不能说“为什么”他们没有 DLQ,但你是对的,他们没有,并且无法投递的消息最终会被丢弃。
根据端点的不同,有某些重试策略,imo 非常好,但最终,如果您处于发布-订阅模型(即 SNS)中,则取决于“订阅”是否可以接收消息当它们可用时。
【讨论】: