BLOG
ブログ
  • TOP
  • BLOG
  • Amazon SQSについてまとめてみた

Amazon SQSについてまとめてみた

Amazon SQSについてまとめてみた

CONTENT

こんにちは、KSです。

現在AWS資格であるソリューションアーキテクト合格に向けて勉強中です。

今回はSQSについてまとめてみました。

■SQSとは

・マネージド型のメッセージキューイングサービスプロデューサーから送信されたメッセージをSQSに貯め、コンシューマーはSQSにメッセージを取りにいく
・アプリケーションの分離に貢献するサービス
・コンシューマーに「EC2」「Lambda」などを指定できSQSにポーリングを行う


■ポーリング

・ショートポーリング
⇒メッセージ取得リクエストされた際、メッセージがなくてもすぐレスポンスを返却
⇒APIコール数が多くなる

・ロングポーリング
⇒メッセージ取得リクエストされた際、メッセージが届くまで最大20秒待機


■可視性タイムアウト

・コンシューマーによってポーリングされた後、他のコンシューマーが受信できない時間のこと
・デフォルト30秒
・可視性タイムアウト内にメッセージ処理に失敗した場合、メッセージはキューに戻る


■デッドレターキュー

・処理失敗などでメッセージがキューに戻る回数がある閾値を超えた場合、デッドレターキューに送ることができる
・キューAでデッドレターキューを設定したい場合、キューBを新たに作成しデッドレターキューに設定する


■遅延キュー/メッセージタイマー

・遅延キュー
⇒プロデューサーがSQSに送信したメッセージをコンシューマーが一定時間アクセスできないようにする機能
⇒すべてのメッセージが対象

・メッセージタイマー
⇒プロデューサーがSQSに送信したメッセージをコンシューマーが一定時間アクセスできないようにする機能
⇒特定のメッセージが対象


■キューの種類

・スタンダードキュー(標準キュー)
⇒送信順序が保証されない
⇒重複送信がまれに発生
⇒256KBまで
⇒安価

・FIFOキュー
⇒送信順序が保証されている
⇒重複して受信することはない
⇒スループット上限あり


■リクエスト/レスポンス形式の実現

・SQSは単方向の通信しかできないが、SQS Temporary Queue Clientを使うことでリクエスト、レスポンスの形を実現できる