SQS
https://gyazo.com/07f4e798ea30f58c6d7bc8de29b51736
Simple Queue Serviceの略
その名の通りメッセージをQueueに溜めることができるサービス。
とりあえず1個キューを作ってみると何が設定できるのか大体わかる。
標準
スループット無制限
1メッセージが1回以上配信される
ベストエフォートで順序保証
FIFO
スループットに制限がある
1メッセージが1回配信される
順序保証される
の2種類がある。
SQSのメッセージのライフサイクル
1. ProducerによってQueueへ送信される
2. ConsumerによってQueueから受信される
3. Queueから削除される
この2~3の間のメッセージのことをインフライトメッセージと呼び、インフライトメッセージ数には制限がある。つまり、同時に処理できるメッセージ数に制限があるということ(Queueに溜められるメッセージ数とは別)。
2.の後デフォルトで30秒間は他のConsumerから受信されたメッセージが見えなくなり、この期間のことを可視性タイムアウトと呼ぶ。
この可視性タイムアウトが終わると他のコンシューマが当該メッセージを受信できるようになる。これを何度か繰り返し、規定回数受信された(つまり、何度かコンシューマがリトライしたが成功≒Queueからのメッセージ削除に至らなかった)メッセージに関しては、Dead−Letter Queueに送られる(という仕組みを設定をいじると有効にできる)。