Azure Service Bus 死信队列产生的原因

服务总线中有几个活动会导致从消息引擎本身将消息推送到 DLQ。 如

  • 超过 MaxDeliveryCount
  • 超过 TimeToLive
  • 处理订阅规则时的错误
  • 应用程序主动设置信息进入死信队列

进入死信队列(DLQ)里面的数据 不会自动执行清理操作。 消息将保留在 DLQ 中,直到显式从 DLQ 中检索它们以及对死信消息调用 Complete() 为止。可以使用Service Bus Explorer工具来查看死信队列中消息

【服务总线 Azure Service Bus】ServiceBus 队列中死信(DLQ - Dead Letter Queue)问题-LMLPHP

死信问题:

一: 队列中存在死信需求如何处理,让这个队列恢复正常

死信是由于客户端无法正常消费消息产生的,Service Bus会将这些无法正常消费的消息移动到另外的死信队列中,这个是不会影响原有队列的消息的消费和使用。

二: 队列中出现死信后是否可以重新发送消息

死信是已经发送到service bus但消费端无法正常消费的消息,这不影响再次向队列发送消息。

参考资料

服务总线死信队列概述https://docs.azure.cn/zh-cn/service-bus-messaging/service-bus-dead-letter-queues

04-25 18:10