血と汗となみだを流す

クラウドエンジニアになるための修業の場

AWS Certified Developer - Associateへの道①(Amazon SQS)

Q1.SQSの概要

キューのタイプ

  • キュータイプが2つある
    • STANDARD
      • 少なくとも1回のメッセージ配信をサポートする
      • メッセージの複数のコピーが順不同で配信されることがある
      • 全般的に送信順に配信されるベストエフォート型
      • 無制限のスループット
    • FIFO
    • 既存のSTANDARDキューをFIFOキューに変換することはできない
      • アプリ側で新しくFIFOキューを作る必要がある

可視性タイムアウト(VisibilityTimeout)

  • 参考ページ
  • コンシューマがキューからメッセージを受信しても、メッセージはキューに残ったまま
    • コンシューマがキューからメッセージを削除する必要がある
    • 接続やコンシューマ側の問題で、コンシューマが実際にメッセージを受信できる保証が無いため
  • メッセージの可視性タイムアウト(VisibilityTimeout)
    • 他のコンシューマが同じメッセージを再び処理しないように可視性タイムアウトが設定される
    • この時間内は、他のコンシューマによる同じメッセージの受信と処理が防止される
    • デフォルト30秒、最大12時間
  • 少なくとも1回
    • メッセージのコピーが複数サーバに保存するため、まれにメッセージを受信または削除するときにメッセージコピーをもう一度受け取ってしまう可能性がある

ReceiveMessageWaitTimeSeconds

  • 参考ページ
  • 空のレスポンス数を削減することでSQSの仕様コストを削減する
  • SQSにキューの受信リクエストを出して、レスポンスの送信前にメッセージがキューで使用可能になるまでSQSが待機する
  • 利用可能になるとすぐにメッセージを返す

MessageRetentionPeriod

DelaySeconds

  • 参考ページ
  • 新しいメッセージの配信を数秒延期することができる
  • 遅延期間の間、コンシューマに表示されなくなる