在 AWS FIFO 队列中的重复数据删除间隔期间发送的重复消息会发生什么情况?

发布于 2025-01-10 23:04:34 字数 471 浏览 2 评论 0原文

我有一个具有多个消费者的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

花间憩 2025-01-17 23:04:34

它们被删除了吗?

是的,他们被队列接受并被接受。然后被SQS删除。

重复数据删除ID的目的是防止重复的消息被消耗和删除。保证“恰好一次”交付。

Are they deleted?

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文