Amazon SQSとは?意味をわかりやすく簡単に解説
公開:
Amazon SQSとは
Amazon SQSとは、アマゾンウェブサービスが提供する完全マネージド型のメッセージキューイングサービスであり、分散システム間でメッセージを確実に送受信するための基盤を提供します。正式名称はAmazon Simple Queue Serviceで、アプリケーションコンポーネント間の非同期通信を実現し、システムの疎結合化とスケーラビリティの向上を目的として設計されています。
このサービスはサーバーの管理やインフラストラクチャの構築が不要で、従量課金制により必要な分だけコストを支払う仕組みになっています。標準キューと先入れ先出しキューの2種類のキュータイプを提供しており、用途に応じて最大スループットか順序保証かを選択できます。
標準キューの特徴と実装パターン
標準キューは無制限に近いスループットを実現し、ベストエフォート型の順序保証とAt-Least-Once配信を特徴としています。メッセージが重複して配信される可能性があるため、受信側のアプリケーションで冪等性を考慮した実装が必要です。
| 項目 | 標準キューの仕様 |
|---|---|
| スループット | 無制限のトランザクション数 |
| 配信保証 | 最低1回の配信保証 |
| 順序性 | ベストエフォート型の順序 |
| 重複 | メッセージ重複の可能性あり |
実装時にはAWS SDKを使用してキューURLを指定し、SendMessageメソッドでメッセージを送信します。受信側ではReceiveMessageメソッドでメッセージを取得し、処理完了後にDeleteMessageメソッドで明示的に削除する必要があります。
FIFOキューの動作メカニズムと設定方法
FIFOキューは厳密な順序保証と正確に1回だけの配信を実現するキュータイプで、キュー名の末尾に.fifoを付与して作成します。メッセージグループIDを使用することで、同じグループ内のメッセージは送信順に処理され、異なるグループは並列処理が可能です。
送信時にはMessageGroupIdパラメータで順序保証の単位を指定し、MessageDeduplicationIdで重複排除の識別子を設定します。コンテンツベースの重複排除を有効化すれば、メッセージ本文のハッシュ値を自動的に重複排除IDとして使用できます。
| 設定項目 | FIFOキューの設定値 |
|---|---|
| キュー名形式 | 必ず.fifoで終わる名前 |
| スループット | 最大3000メッセージ/秒 |
| メッセージグループID | 順序保証の単位を指定 |
| 重複排除ID | 5分間の重複検出に使用 |
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
左へフリックで次のページ、右へフリックで前のページに戻れます左右の矢印ボタン、左右のスワイプで移動できます




