デッドレターキューとは?
でっどれたーきゅー
デッドレターキューとは、処理に失敗したメッセージが自動的に転送される特別なキューで、エラー原因の調査や再処理のために使われるメッセージキューの仕組みです。
デッドレターキュー(Dead Letter Queue、略称 DLQ)は、メッセージキューイングシステムにおいて、正常に処理されなかったメッセージを受け取るための専用キューです。「デッドレター(dead letter)」とは、配達不能な郵便物をさす言葉に由来します。
メッセージが DLQ に転送される主な理由は以下のとおりです。
- 一定回数(リトライ上限)処理に失敗した場合
- メッセージの有効期限(TTL)が切れた場合
- キューの容量上限を超えた場合
- コンシューマー(受信側)がメッセージを拒否(reject)した場合
DLQ を設けることで、問題のあるメッセージをメインキューから隔離し、正常なメッセージの処理を止めずに継続できます。隔離されたメッセージは後から内容を確認してバグ修正に役立てたり、原因解消後に再送信(リドライブ)したりすることが可能です。
Amazon SQS・RabbitMQ・Apache Kafka・Azure Service Bus など、主要なメッセージキューサービスのほぼすべてが DLQ 機能をサポートしています。マイクロサービスアーキテクチャや非同期処理システムにおいて、障害検知・デバッグ・システム信頼性向上の重要なパターンとして広く使われています。
使い方・例文
注文処理システムで特定の注文データのフォーマットが壊れていた場合、その注文メッセージはデッドレターキューに転送され、担当者が後から原因を調べて修正後に再処理できます。
この用語をシェア
最終更新: