amazon-web-services - 无论成功/失败,在一定数量的接收后从 SQS 中删除消息
问题描述
我在 Spring Boot 应用程序的两个地方使用 SQS 队列:
- 在一个队列中,当给定消息的最大接收数 > = 3 时,我希望将消息路由到 DLQ
- 对于第二种情况,我不喜欢配置 DLQ。
但是,在(1)和(2)中,我想在收到 3 次后分别从 DLQ 和普通队列中删除消息。
截至目前,我在 SQS 中找不到任何这样的配置,它允许我在收到一定数量的消息后从队列中删除消息。
也许,我错过了一些东西。有人可以帮忙吗?
解决方案
如果您不想使用 DLQ,则没有在收到给定数量的不成功后“自动”从 SQS 队列中删除消息的机制。
如果没有 DQL,SQS 会将消息保留在队列中直到它们过期。因此,如果你想做你想做的事,你必须为此创建自己的解决方案。您必须存储接收消息的次数,例如,在 DynamoDB 中,然后在第三次接收时,消费者必须从队列中显式删除消息。
推荐阅读
- google-bigquery - 在 bigquery 中创建分区外部表
- python - 使用python子进程模块时的CPU占用
- wordpress - 如何在 wordpress 的自定义分类字段中添加默认值
- arduino - 指纹传感器未检测到
- eclipse - Eclipse EEF 1.5.2 的 Jenkins/JAR 链接
- java - 无法使用 URLConnection 连接到特定网站,读取超时
- ionic-framework - 错误错误:未捕获(承诺):QuotaExceededError Ionic 3
- php - 相对 url 在云端 AWS 中不起作用
- android - 根据用户id获取listview
- python - 如何在azure ml中的python中从给定日期提取月份和年份