amazon-web-services - Amazon SQS 死信队列 : Is it really dead letter or poison?

标签 amazon-web-services message-queue amazon-sqs message-bus

我试图澄清亚马逊的 SQS 死信队列到底在做什么。

根据http://aws.typepad.com/aws/2014/01/amazon-sqs-new-dead-letter-queue.html

Dead Letter Queue - The ARN (Amazon Resource Name) of an SQS queue that will receive the messages which were not successfully processed after maximum number of receives by consumers.



这听起来不是更像毒药队列吗?关键区别在于消费者确实收到了消息。死信是指消息可能很好,但可能由于服务中断而无法传递。 http://www.eaipatterns.com/DeadLetterChannel.html

这听起来像是多次成功接收消息,但处理消息失败,我理解这是毒消息队列的含义。

消息总线与队列

死信模式在普通旧队列的上下文中是否具有不同的含义?由于 SQS 只是一个队列,而不是消息总线,因此它不负责传递消息。相反,它等待消息被拾取(请求)。所以传统的死信模式并不真正适用,因为没有消息总线试图传递消息并且无法找到接收者。

SQS 可以像消息总线一样工作吗?

有没有办法通过 SQS 设置 channel 和监听器,而不是显式轮询队列中的消息?

最佳答案

在大多数情况下,我不确定 DLQ 之间的区别。和 PQ是必要的。事实上,我发现这个定义相当武断。对于大多数事务性消息传递实现,如果消息在指定的重试次数内没有成功从队列中消耗掉,它将转到 DLQ。 .为格式错误的消息设置一个单独的队列意味着您现在只有两个位置来查找未成功处理的消息,两个异常队列用于监控或操作注意事项,以及一些看起来可能属于其中一个的消息百分比队列(想到批处理场景)。

关于amazon-web-services - Amazon SQS 死信队列 : Is it really dead letter or poison?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21786951/

相关文章:

c# - 尝试首先使用 EF 核心代码时出现 DbUpdateException 错误

amazon-web-services - 在 ECS Docker 中为 Selenium Chrome Hub 动态设置环境变量

postgresql - 无法通过主机名连接到 RDS

python - 如何使用 python boto3 向本地 SQS 队列发送消息?

java - 如何将消息备份从一台 HornetQ 服务器复制到另一台服务器?

redis - 使用Redis的MultiPublisher-MultiConsumer队列

git - 针对 AWS CodeCommits 运行 git clone 时出现 403 错误

amazon-web-services - AWS FIFO SQS重复数据删除ID如何工作?

amazon-web-services - AWS AutoScaling,缩减规模 - 等待进程终止

java - 如何使用 AWS X-Ray 通过 SQS 队列跟踪请求