こんにちは、かずきゅーです。
今回はAWSの重要サービスの1つであるAmazon SQSについて、初心者向けに基本用語を解説しました。
Amazon SQSを学び始めたは良いものの、よくわからない用語が多くて挫折しそうになっているのではないでしょうか。
この記事を読めばAmazon SQSについての理解が進みますのでご安心ください!
Amazon SQS とは
まずは簡単に、Amazon SQS(以下SQS)についての説明です。
SQS(Simple Queue Service)とは、AWSが運用するメッセージキューイングサービスの1つです。1つと言うのも、AWSではSQS以外にもAmazon SNSやAmazon MQなどといった、メッセージキューイングサービスをいくつか提供しています。
SQSの公式サイトはこちらになります。
SQSについて簡単にまとめると、
プロデューサーがメッセージをキューに送信し、コンシューマーがポーリングしてそのメッセージを受信することによって疎結合アーキテクチャを実現することができるメッセージキューイングサービス
となります。
。。。。。。
何をいっているんだこいつは。となった方はぜひこの記事でSQSの基本用語について学んでいってください!
この説明で理解できたという方は、今回の記事は必要ありませんので他の記事をみていただけると幸いです。笑
それでは早速、用語の解説をしていきます。
用語解説
メッセージ(Message)
SQSでは、異なるアプリケーション間でSQS介して送受信されるデータのことを指しています。プロデューサーによって生成され最大で256KBのサイズまで送受信が可能です。
プロデューサー(Producer)
プロデューサーは、キューにメッセージを送信するアプリケーションのことを指します。
コンシューマー(Consumer)
コンシューマーは、キューからメッセージを受信するアプリケーションのことを指します。
メッセージの受信は自動的には行われず、キューに対してメッセージが溜まっていないかを定期的に確認し、メッセージがあれば取得するという動作をします。(これをポーリングと言います。)
コンシューマーは1つではなく、メッセージの量に応じて増減させるアーキテクチャとすることが一般的となっています。
キュー(Queue)
キューは待ち行列と言われ、メッセージを一時的に格納する場所となっています。SQSは、メッセージをキューに送信し、キューから受信して処理します。
また、SQSはスタンダードキューとFIFOキューの2種類を提供しており、利用する状況によって2つのキューを使い分けることができます。
ポーリング(Polling)
コンシューマーの説明で登場しましたが、コンシューマーがキューに対してメッセージが溜まっていないかを定期的に確認し、メッセージがあれば取得するという動作のことを指します。
ショートポーリングとロングポーリングの2種類があり、こちらも利用する状況によって使い分けることができます。
疎結合(Loose Coupling)
疎結合とは、異なるアプリケーション間でお互いの情報をできるだけ持たないようにした独立性が高い状態のことを指します。
SQSを使用することで、プロデューサーとコンシューマーは直接通信する必要がなくなり、疎結合なアーキテクチャを実現することができます。
メッセージキューイング(Message Queuing)
メッセージキューイングは、異なるアプリケーション間で直接メッセージを渡すのではなく、一旦キューにメッセージを預けることによって、プロデューサーもコンシューマーも好きなタイミングで送受信処理を行うことができるようにする方式のことを指します。
まとめ
ここまでSQSの基本用語をまとめてきましたが、いかがでしたでしょうか。
はじめに紹介したSQSの簡単なまとめ、
プロデューサーがメッセージをキューに送信し、コンシューマーがポーリングしてそのメッセージを受信することによって疎結合アーキテクチャを実現することができるメッセージキューイングサービス
こちらをざっくり理解できるようになりましたでしょうか。
これでみなさんは、SQSの基本は学ぶことができたと思います。
が、まだまだSQSは奥が深いサービスです。これを足がかりにSQSについて理解を深めていきましょう!
以上、かずきゅーでした。