SQS SQS Simple Queue Service

0 円/月

ざっくりわかるSQS

フルマネージド型のメッセージキューサービス。

メッセージキューは、複数の処理をキューを介して非同期に実行する仕組みです。
メッセージの送信側と受信側の間にキューを挟むことで、受信側は自分のペースでメッセージを処理できます。

SNSと名前が似ていて紛らわしいですが、違いをまとめるとこんな感じです。
それぞれ異なる特徴を持ったサービスですが、組み合わせて使ったほうが有効なケースもあります。

SNS SQS
仕組み Pub/Sub メッセージキュー
やりとり プッシュ
(投げつける)
ポーリング
(取りに行く)
出力 複数可 単一のみ

ひとつ注意が必要なのが、標準キューの場合は、まれに複数のメッセージが配信される可能性があり、
順序も保証されないので、アプリケーション側で重複や順序についても考慮しておく必要があります。
順序を厳密に保持したいときのために、FIFOキューも用意されています。

SNSとSQSを組み合わせた使用例
ユーザーがアップロードした画像に対して、サムネイルの作成と画像認識の処理を同時に走らせたい場合、
メッセージを一旦SNSのトピックに投げて、それを複数のSQSのキューでサブスクライブする設計しておけば、
処理が増えた場合のスケールが簡単になります。(参考:Fanout

補足と前提

  • 東京リージョン
  • ひと月は30.5日