IT用語集 › データベース › デッドレターキュー(DLQ)

デッドレターキュー(DLQ)

データベース Svenska → 更新: 2026-10-21

一定回数処理に失敗したメッセージの移し先となる別のキュー。「毒入り」メッセージがキューを永遠に塞ぐ代わりに、DLQ に退避して調査や手動・自動の対処に回す。

問題は、コンシューマーを必ず落とすメッセージ(不正なデータやバグ)が、キューを塞ぐか延々とループする(リトライストーム)ことだ。X 回失敗した時点でシステムがそのメッセージを「デッドレター化」し、他に影響しない置き場に移す。使い方は、失敗の理由を調べ、バグを直し、メッセージを再投入(redrive)すること。SQS、RabbitMQ、Kafka(独自のパターンで)、Azure Service Bus で標準的に使われる。

ベストプラクティスは、DLQ の深さを監視してアラートを出すこと(DLQ が増えているなら何かが壊れている)と、失敗の理由やメタデータを残すこと。通常のリトライとは違い、DLQ はリトライを使い切った後の終着点である。堅牢なメッセージ駆動システムやマイクロサービスの要となる。

← 用語集に戻る