web-dev-qa-db-ja.com

デッドレターキューとバックアウトキューの違いは何ですか?

デッドレターキューとバックアウトキューの違いは何ですか?

WebSphereMQの用語およびアプリケーションサーバーの用語で。

すべてのJ2EE/JEEアプリサーバーにはMQプロバイダーがあり、Dead Letter Queueの構成もありますか、それともWebSphere MQに固有のものですか?

バックアウトキューについての私の理解は次のとおりです。

MQは、指定された回数の試行後にメッセージを宛先に配信できない場合、メッセージをバックアウトキューに移動します。

DeadLetterキューについて明確に理解していません。

どんな援助にも感謝します。

18
Manglu

デッドレターキューは、キューマネージャーに到着したメッセージを格納するためにMQSeries(最後にMQを使用したとき)で常に使用されていましたが、キューは存在しませんでした。

たとえば、メッセージがキューマネージャへのアドレスである場合[〜#〜] x [〜#〜]およびキュー[〜#〜] y [〜#〜]、マネージャーのチャネルを介して到着します[〜#〜] x [〜#〜]

受信者チャネルがキューがないことを検出した場合[〜#〜] y [〜#〜]、それはデッドレターキューに配置されます。

一方、バックアウトキューは、(少なくともMQに関しては)アプリケーションレベルのものです。 MQクライアントが何らかの理由でメッセージを処理できない場合、後で処理するためにメッセージをバックアウトできます(元のキューに戻ります)。

バックアウトが何度も行われると(しきい値を構成できます)、バックアウトキューに移動されます。

13
paxdiablo

答えてくれてありがとう。また、アプリケーションが何らかの理由でメッセージをバックアウトキュー(BOQ)に移動できない場合、キューをデッドレターキュー(DLQ)に移動しようとすることもわかりました。

私たちのアプリケーションでは、それが起こりました。バックアウトキューにいくつかのアクセス許可の問題があったため、メッセージをBOQに書き込むことができず、最終的にデッドレターキューに入れられました。

4
Manglu

Dead Letter Queueは、バックアウトと同じように動作します。私はDeadLetter Queueを、ErrorキューまたはBackoutキューで回復できず、収集する必要のある最後の非ビジネス固有のデータがあるメッセージの火葬場として扱います。情報が取得されると、メッセージは永久に保存されます。バックアウトは、完全に再処理するために回復する必要があるか、決定のためにアプリケーション領域に送り返す必要がある可能性があるデータのメッセージを分析するのに適しています。

1
Wayne Hartman

デッドレターキューはローカルキューでもあります。あるキューから別のキューにメッセージを配置しようとして、メッセージが正しい宛先に送信されなかった場合、この時点で、メッセージはデッドレターキューに移動します。

0
k.sekhar