【问题标题】:Use MSMQ dead letter queue or Admin queue to handle unsent messages?使用 MSMQ 死信队列或管理队列来处理未发送的消息?
【发布时间】:2009-09-10 13:23:46
【问题描述】:

我正在开发一个将消息发布到远程 MSMQ 队列的系统。如果无法发送或接收消息,那么我想稍后再尝试重新发送。

一种方法是列出所有系统死信队列 (DLQ) 消息 发送计算机并重新发送任何相关计算机。 另一种方法是使用管理队列接收任何否定确认并重新发送此队列中的所有消息。

一种方法比另一种更好吗?

我会看到的一个优点是,只有相关的消息会出现在管理队列中,而系统 DLQ 可以有来自其他队列的消息。

是否存在失败消息会进入 DLQ 而不是管理队列的情况?

谢谢 K.

【问题讨论】:

    标签: msmq


    【解决方案1】:

    我会建议从 DLQ 重新发送,因为它可以成为通用解决方案并处理来自不同队列的消息以重新发送它们。

    DLQ 也是一个系统队列,可以保证如果消息没有传递到相应的队列,它将在 DLQ 中可用。

    【讨论】:

      【解决方案2】:

      呃。 " 如果无法传递或接收消息,那么我想稍后再尝试重新发送"

      这不是 MSMQ 应该做的吗?

      【讨论】:

      • MSMQ 只会继续尝试发送,直到达到超时(TTRQ 或 TTBR)。虽然可以将这些设置为无限,但这可以防止在出现连接/设置问题时检测到任何错误。
      猜你喜欢
      • 2018-10-25
      • 2012-12-28
      • 1970-01-01
      • 2020-02-14
      • 2012-09-23
      • 1970-01-01
      • 2011-06-02
      • 2020-04-06
      • 2013-11-04
      相关资源
      最近更新 更多