Q1.SQSの概要
キューのタイプ
- キュータイプが2つある
可視性タイムアウト(VisibilityTimeout)
- 参考ページ
- コンシューマがキューからメッセージを受信しても、メッセージはキューに残ったまま
- コンシューマがキューからメッセージを削除する必要がある
- 接続やコンシューマ側の問題で、コンシューマが実際にメッセージを受信できる保証が無いため
- メッセージの可視性タイムアウト(VisibilityTimeout)
- 他のコンシューマが同じメッセージを再び処理しないように可視性タイムアウトが設定される
- この時間内は、他のコンシューマによる同じメッセージの受信と処理が防止される
- デフォルト30秒、最大12時間
- 少なくとも1回
- メッセージのコピーが複数サーバに保存するため、まれにメッセージを受信または削除するときにメッセージコピーをもう一度受け取ってしまう可能性がある
ReceiveMessageWaitTimeSeconds
- 参考ページ
- 空のレスポンス数を削減することでSQSの仕様コストを削減する
- SQSにキューの受信リクエストを出して、レスポンスの送信前にメッセージがキューで使用可能になるまでSQSが待機する
- 利用可能になるとすぐにメッセージを返す
MessageRetentionPeriod
- 参考ページ
- SQSがメッセージを保持する秒数
- デフォルト4日
DelaySeconds
- 参考ページ
- 新しいメッセージの配信を数秒延期することができる
- 遅延期間の間、コンシューマに表示されなくなる