gpt4 book ai didi

amazon-sqs - 如何保证 Amazon SQS 只会收到一次消息?

转载 作者:行者123 更新时间:2023-12-04 17:35:58 31 4
gpt4 key购买 nike

我正在使用 Amazon SQS 队列向外部系统发送通知。

如果使用 SQS 时 HTTP 请求失败 SendMessage ,我不知道消息是否已排队。我的默认策略是重试将消息发布到队列,但存在两次发布消息的风险,根据用例,这可能是 Not Acceptable 。

如果消息正文(或某种消息元数据,例如我们可以提供的唯一 ID)上存在重复项,是否有办法让 SQS 拒绝该消息,以便我们可以重试直到消息被接受,并且有信心如果第一个请求已经排队,但响应丢失了,就不会有重复?

最佳答案

不,SQS 中没有这样的机制。更进一步,一条消息也有可能被传递两次或更多次(至少一次传递语义)。因此,即使存在这样的机制,您也无法保证消息不会被多次传递。

见:http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/DistributedQueues.html

对于一次性交付,在发送端和接收端都需要某种形式的事务(并且 HTTP 不是事务协议(protocol))。

关于amazon-sqs - 如何保证 Amazon SQS 只会收到一次消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18696316/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com