【でっどれたーきゅー】
デッドレターキュー とは?
💡 配達不能メッセージの「待合室」
📌 このページのポイント
- 処理できなかったメッセージを安全に退避させる仕組み
- Amazon SQS、RabbitMQ、Azure Service Busなどが標準サポート
- メインキューの詰まり(ポイズンメッセージ問題)を防止
- DLQのメッセージを分析して根本原因を特定し、再処理する運用が重要
なぜDLQが必要なの?
DLQに入ったメッセージはどうする?
リトライ回数は何回が適切?
一般的には3〜5回が目安だよ。1回目は即時、2回目は1秒後、3回目は5秒後のように指数バックオフでリトライして、全部失敗したらDLQに送る。回数が少なすぎると一過性のエラーを拾えない、多すぎるとDLQへの到達が遅れて問題の検知が遅くなる。サービスの特性に合わせて調整しようね
DLQのDLQ(ネスト)はありえる?
まとめ:ざっくりこれだけ覚えればOK!
「デッドレターキュー」って出てきたら「処理失敗メッセージの退避先キュー」と思えればだいたいOK!
📖 おまけ:英語の意味
「Dead Letter Queue (DLQ)」 = 配達不能メッセージキュー
💬 Dead Letter(届けられない手紙)を集める場所。郵便の配達不能郵便物の概念から来ているよ