代码之家  ›  专栏  ›  技术社区  ›  Manglu

死信队列和退出队列之间的区别是什么?

  •  17
  • Manglu  · 技术社区  · 16 年前

    死信队列和退出队列之间的区别是什么?

    在WebSphere MQ术语和应用程序服务器术语中。

    我对退出队列的理解如下:

    如果MQ在指定的尝试次数后无法将消息传递到目标,它会将消息移动到退出队列。

    我对死信队列没有清晰的理解。

    感谢您的帮助。

    4 回复  |  直到 8 年前
        1
  •  16
  •   Muhammad Faizan Uddin    8 年前

    在MQSeries(我上次使用MQ时)中始终使用死信队列来存储到达队列管理器但队列不存在的消息。

    例如,如果消息是队列管理器的地址 X 排队 Y ,它将通过一个渠道到达manager X .

    如果发现接收器通道,则不存在队列 Y

    另一方面,回退队列更像是应用程序级别的事情(至少就MQ而言)。当MQ客户机由于某种原因无法处理消息时,它可以将其备份以供以后处理(返回到原始队列)。

        2
  •  4
  •   Dave DuPlantis    14 年前

    谢谢你的回答。我还发现,如果应用程序由于某种原因无法将消息移动到回退队列(BOQ),则会尝试将队列移动到死信队列(DLQ)。

    在我们的应用程序中,它发生了。退出队列上存在一些权限问题,因此无法将消息写入BOQ,它最终进入死信队列。

        3
  •  2
  •   Wayne Hartman    16 年前

    死信队列的行为与回退相同。我将死信队列视为无法在错误或回退队列中恢复的消息的火葬场,需要收集一些最后的、非业务特定的数据。一旦信息被捕获,信息就被永久地记录下来。回退适用于分析消息中的数据,这些数据可能需要恢复才能完全重新处理,或者需要发送回应用程序区域以供他们做出决定。

        4
  •  0
  •   o-90    9 年前

    死信队列也是本地队列。如果我们试图将消息从一个队列放到另一个队列,但消息没有发送到正确的目的地,此时消息将转到死信队列。

    推荐文章