amazon-web-services - 我可以查看 Fifo 队列中不可接收的可用消息吗
问题描述
我有一个 SQS FIFO 队列,它使用数千个消息组 ID 进行排序和一次性处理。
大多数消息由消费者快速处理,并从队列中删除。
但是,由于某些消息可能需要一段时间才能处理,VisibilityTimeout
因此排队时间为 2 小时。
有时,我的队列中会显示一两条消息,但它们无法接收,因为具有相同消息组 ID 的消息正在传输中。
我知道我无法接收这些消息,但有没有办法查看这些消息以了解哪个消息组 ID 导致了问题?
解决方案
不幸的是,您无法查看飞行中的消息,因为其他消费者根本看不到它们。
但是,如果您有一些导致问题的消息,例如,它们是不可接收的,您可以考虑设置死信队列(DLQ):
死信队列对于调试您的应用程序或消息传递系统很有用,因为它们可以让您隔离有问题的消息以确定它们处理不成功的原因。
这样,这些“坏”消息将最终出现在 DLQ 中,这将允许您检查它们、自动通知它们的存在或以不同的方式处理它们。
推荐阅读
- python - Pandas pivot_table 没有对索引值进行分组
- c - 如何创建一个多维数组,其维度基于 C 中的变量?
- javascript - 需要未知模块“699”
- php - 无法按键获取数组元素,但数组中存在键
- java - Java 程序中的异常处理
- in-app-purchase - 在 Firebase、Facebook 和 iTunes Connect 中跟踪订阅 iAP
- android - 应用程序链接在 Firefox 上不起作用,但 chrome 可以工作
- python - Scrapy抓取页面的url,从每个新页面中提取值
- java - 如何使用按钮更改所有活动的背景颜色?
- bixby - 如何阻止卡片在bixby中被点击