勉強前イメージ
何らかの理由で届かなかったキューのこと指す?
調査
まず Amazon SQS とは
フルマネージドのキューイングサービスで
ソフトウェア間を直接データを渡すのではなく、第三者経由でデータを渡すことで、送信側と受信側が好きなときに処理を行うことができます。
そのキューイングができるサービスがSQSになります。
デッドレターキュー とは
デッドレターキュー(Dead Letter Queue)、略して DLQ と書きます。
DLQは正常に処理できないメッセージがキュー内に残り続けないように、移動させる機能になります。
また、DLQに入ったキューは一時的な障害等でない限りずっと残り続けます。
DLQはそもそも処理できないということを通知したり、処理が成功しない理由を調べるために役立ちます。
言葉は こちらの前提知識 に記載していますが
SQSはコンシューマ(メッセージをポーリングするアプリケーション)が
指定された回数分メッセージの処理に失敗するとDLQに入ります。
なので、DLQに入るタイミングも指定することが出来ます。
以下がマネジメントコンソール上での設定画面になります。
オプションなのでデフォルトでは無効ですが有効にすると設定画面が出てきます。
またDLQ用のARNを指定することでそちらにキューが飛んでcloudwatchアラームと組み合わせることでDLQの通知を行うことも出来ます。
勉強後イメージ
「これもう処理出来ないよ」って箱に入れるイメージかな?
確かにタイムアウトみたいなの設けてたらキュー処理出来ないのもわかるし、原因もわかるね。