勉強前イメージ
似たようなS*Sサービス。。。
正直良くわからない・・・
調査
Amazon SQSとは
Simple Queue Serviceの略で、フルマネージドのキューイングサービス。
キューイングとは異なるソフトウェア間でデータの送受信する手法の一つで、
ソフトウェア間を直接データを渡すのではなく、第三者経由でデータを渡すことで、送信側と受信側が好きなときに処理を行うことができます。
そのキューイングができるサービスがSQSになります。
前提知識
登場する言葉が3つ、以下があります。
- プロデューサー : メッセージをSQSに送信するアプリケーションのこと
- コンシューマー : SQSからメッセージをポーリング(取りに行く)アプリケーションのこと
- メッセージ : 送受信されるデータのこと
上記を図解したものが以下になります。
キュータイプ
SQSにはアプリケーションの要件に合わせて2つのキュータイプがあります。
- 標準キュー
- FIFO キュー
2021-01-14 3 Untitled Diagram.drawio - diagrams.net - Google Ch
標準キュー
- スループットは無制限
- 配信順序はベストエフォートで保証されない(順番が前後する可能性がある)
- メッセージは最低1回配信する(複数回配信される可能性がある)
- 複数回同じメッセージが受け取っても悪影響出ないような構成にする必要がある
- FIFOキューに比べて安価
FIFO キュー
FIFOとはFirst In, First Outの略で、先入れ先出しの意味
- スループットは1秒あたり300件のメッセージ処理
- 配信順序は保証される(順番が前後しない)
- メッセージは必ず1回のみ配信(複数回配信されない)
このキューは、配信順序や処理回数が重要な場合に使用されます。
SQSで出来る主な設定
- 可視性タイムアウト : コンシューマーがメッセージを受信してから可視性タイムアウトの間、他のコンシューマーなどにキューを配信しない
- 配信遅延 : コンシューマがメッセージを処理するより先にキューができたときにどのくらいの時間、キューの送信を遅延させるか
- メッセージ受信待機時間 : メッセージ取得を指定時間だけ待機する
- メッセージ保持期間 : キューに登録されたメッセージは明示的に削除処理を行われない限りデフォルトで4日間保持
- 最大メッセージサイズ : キューのメッセージサイズの指定
Amazon SNSとの違い
- Amazon SQS
コンシューマはSQSをポーリングして、キューがあれば取得します
- Amazon SNS
SNSはコンシューマーを確認せず、とりあえずメッセージを送るプッシュ式です。
勉強後イメージ
キューのサービスもあるのか・・・
確かにアプリケーションが組み合わさってたらキュー送りたいけど!!!ってなるか