在 AWS FIFO 队列中的重复数据删除间隔期间发送的重复消息会发生什么情况?
我有一个具有多个消费者的 FIFO 队列。生产者在每条消息中都包含一个重复数据删除 ID。
在文档中,它说:
如果成功发送具有特定消息重复数据删除 ID 的消息,则使用相同消息重复数据删除 ID 发送的任何消息都会成功接受,但不会在 5 分钟重复数据删除间隔内传送。
我不清楚这些消息会发生什么。它们被删除了吗?或者它们是否保留在队列中,并且在重复数据删除期限到期后是否会被拾取?
我想知道的原因是我的自动缩放基于队列中的消息数量(可见+正在运行)。如果消息没有被删除,我可能会根据该数字添加太多消费者。
I have a FIFO queue with multiple consumers. The producer includes a Deduplication ID with every message.
In the docs, it says:
If a message with a particular message deduplication ID is sent successfully, any messages sent with the same message deduplication ID are accepted successfully but aren't delivered during the 5-minute deduplication interval.
It's not clear to me what happens with these messages. Are they deleted? Or do they remain in the queue, and are they picked up after the deduplication period expires?
The reason I want to know is that I'm basing my autoscaling on the number of messages in the queue (visible + in-flight). If the messages isn't deleted, I might be adding too many consumers based on that number.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,他们被队列接受并被接受。然后被SQS删除。
重复数据删除ID的目的是防止重复的消息被消耗和删除。保证“恰好一次”交付。
Yes, they are accepted by the queue & then deleted by SQS.
The purpose of the deduplication ID is to prevent duplicate messages from being consumed & to guarantee "exactly once" delivery.