メッセージキューイングにおいて、デッドレターキュー(DLQ)、または一部のメッセージングシステムではデッドレタートピック(DLT)は、メッセージングシステムが配信できない、または配信すべきでないメッセージを格納するためのサービス実装です。[ 1 ]実装によって異なりますが、メッセージは次のような理由でDLQにルーティングされることがあります。
これらのメッセージをデッドレターキューにルーティングすることで、一般的な障害パターンや潜在的なソフトウェアの問題を分析できます。[ 7 ]メッセージコンシューマが無効と判断したメッセージを受信した場合、代わりにそれを無効メッセージチャネルに転送できます。 [ 8 ]これにより、アプリケーションレベルの障害と配信の失敗を分離できます。
デッドレターキューの管理には、通常、監視システムとアラートシステムが用いられます。組織によっては、デッドレターキューメッセージの自動修復または手動処理のために、専用のハンドラーを導入する場合があります。
デッドレターキューを組み込んだキューイングシステムには、Amazon EventBridge [ 9 ] 、 Amazon Simple Queue Service [ 7 ] 、 Apache ActiveMQ、Google Cloud Pub/Sub [ 10 ] 、HornetQ、Microsoft Message Queuing [ 2 ] 、 Microsoft Azure Event Grid および Azure Service Bus [ 11 ] 、WebSphere MQ [ 12 ] 、 Solace Platform [ 13 ] 、Rabbit MQ [ 5 ]、Confluent Cloud [ 14 ]、Apache Pulsar [ 15 ] [ 16 ]などがあります。