本文へスキップ

デッドレターキューとは?

でっどれたーきゅー

デッドレターキューとは、処理に失敗したメッセージが自動的に転送される特別なキューで、エラー原因の調査や再処理のために使われるメッセージキューの仕組みです。

デッドレターキュー(Dead Letter Queue、略称 DLQ)は、メッセージキューイングシステムにおいて、正常に処理されなかったメッセージを受け取るための専用キューです。「デッドレター(dead letter)」とは、配達不能な郵便物をさす言葉に由来します。

メッセージが DLQ に転送される主な理由は以下のとおりです。

  • 一定回数(リトライ上限)処理に失敗した場合
  • メッセージの有効期限(TTL)が切れた場合
  • キューの容量上限を超えた場合
  • コンシューマー(受信側)がメッセージを拒否(reject)した場合

DLQ を設けることで、問題のあるメッセージをメインキューから隔離し、正常なメッセージの処理を止めずに継続できます。隔離されたメッセージは後から内容を確認してバグ修正に役立てたり、原因解消後に再送信(リドライブ)したりすることが可能です。

Amazon SQS・RabbitMQ・Apache Kafka・Azure Service Bus など、主要なメッセージキューサービスのほぼすべてが DLQ 機能をサポートしています。マイクロサービスアーキテクチャや非同期処理システムにおいて、障害検知・デバッグ・システム信頼性向上の重要なパターンとして広く使われています。

使い方・例文

注文処理システムで特定の注文データのフォーマットが壊れていた場合、その注文メッセージはデッドレターキューに転送され、担当者が後から原因を調べて修正後に再処理できます。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語