0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

キューってなんやねん!!!

Posted at

題名の通り

AWSで「サーバレス」だとか「非同期」だとかよく言われる単語で毎度おなじみのSQS。
実際に触ったことがないので、実際にやり取りされる「キュー」ってのが実際にどんな奴なのか全然イメージつかなくて困った。のでまずはChatGPT君に聞いてみた。

ChatGPT君の答え

わし「メッセージキューって何ですか?データレコードみたいなものですか?」
ChatGPT君「メッセージキューの実態は、データレコードそのものではなく、メッセージの一時的な保存・管理を行うための仕組みや構造を指します。メッセージキューは、プロセス間通信や異なるシステム間での非同期通信に利用され、メッセージ(データのパケット)が送信者(プロデューサー)から受信者(コンシューマー)に渡されるまで、キュー内に一時的に蓄積されます。」

聞き方悪かったけど、とりあえずメッセージをキューイングするってのは、上記の通りで、メッセージなるものが送信者から受信者に渡されるまで、キュー内に一時的に蓄積しておくもののことを指す。

じゃあそのメッセージってなんやねん!ってことで聞いてみると、
「Amazon SQS(Simple Queue Service)で扱うメッセージオブジェクトは、主に**メッセージ本文(MessageBody)とメッセージ属性(MessageAttributes)**から構成されます。以下に、具体的な例を示します。Amazon SQSのメッセージオブジェクトは、以下のような構造を持ちます:
MessageBody: メッセージの主な内容。通常はJSON、XML、テキストなどのフォーマットで構成されます。
MessageAttributes: メッセージに付随するメタデータ。キーと値のペアで追加情報を提供します(オプション)。

{
  "MessageBody": "注文が正常に処理されました。",
  "MessageAttributes": {
    "OrderId": {
      "StringValue": "12345",
      "DataType": "String"
    },
    "CustomerName": {
      "StringValue": "山田太郎",
      "DataType": "String"
    },
    "OrderAmount": {
      "StringValue": "2500",
      "DataType": "Number"
    }
  }
}

こんな感じらしい。

感想

要はコンパクトに情報がまとめられたJSONだと思えばいいのね。
これをサーバの管理なく一時的に貯めておいてくれるSQSは偉大だわ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?