首页 > 解决方案 > 我可以查看 Fifo 队列中不可接收的可用消息吗

问题描述

我有一个 SQS FIFO 队列,它使用数千个消息组 ID 进行排序和一次性处理。

大多数消息由消费者快速处理,并从队列中删除。

但是,由于某些消息可能需要一段时间才能处理,VisibilityTimeout因此排队时间为 2 小时。

有时,我的队列中会显示一两条消息,但它们无法接收,因为具有相同消息组 ID 的消息正在传输中。

我知道我无法接收这些消息,但有没有办法查看这些消息以了解哪个消息组 ID 导致了问题?

标签: amazon-web-servicesamazon-sqs

解决方案


不幸的是,您无法查看飞行中的消息,因为其他消费者根本看不到它们。

但是,如果您有一些导致问题的消息,例如,它们是不可接收的,您可以考虑设置死信队列(DLQ)

死信队列对于调试您的应用程序或消息传递系统很有用,因为它们可以让您隔离有问题的消息以确定它们处理不成功的原因

这样,这些“坏”消息将最终出现在 DLQ 中,这将允许您检查它们、自动通知它们的存在或以不同的方式处理它们。


推荐阅读