【学習記録】AWS SQSについて勉強

AWS SQSの全体的な概要がなかなか掴めず、AWS DVA試験の勉強をしていても頭に入ってこないので一度基礎的はところから勉強しました。
SQSがどういう風に動くかということから色んな記事を読んで勉強したので、だいぶイメージできるようになりました。

以下勉強したことをまとめます。

SQSとは

AWSのマネージド型のメッセージキューイングサービス。
システム間でやりとりするデータを一時的に溜めておいて、そこから定期的に受け取る仕組み。
やり取りするデータ=メッセージ
データを溜めておく場所=キュー
データを送る側=プロデューサー
データを受け取る側=コンシューマー

標準キューとFIFOの違い

標準キューはメッセージを順不同で送り、2回以上送る場合もある。FIFOは受け取った順番で一回のみ配信する。

ユースケース

画像の加工など、重たい処理を実行する時に、先に処理のリクエストを受け付けたことだけをユーザーに通知し、処理自体はSQSで実行するなど

デッドレターキュー

正常に処理できないメッセージを退避させる。
これを使うことで、問題のあるメッセージのデバッグが行えたり、問題のあるメッセージが何度も送信されエラーが出続けるのを防ぐことができる。
また、以下のような仕様があるみたいです。
FIFOキューのデッドレターキューはFIFOキューである必要がある。
・デッドレターキューと標準キューは同じAWSアカウントを仕様して作成する必要がある。
・デッドレターキューと標準キューは同じAWSリージョンにある必要がある。

可視性タイムアウト

SQSのキューに入ったメッセージが重複して処理されないように処理中は一時的に他のプロセスからメッセージを見えないようにする設定。

参考: docs.aws.amazon.com