こちらは新しい記事シリーズでflociを利用しAWSの勉強を進めたいと思います。第3話はSNSの仕組み、そしてSQSと組み合わせの動作を一緒に見てみましょう。

Reference Link
http://soup01.com/ja/category/cloud-ja/floci/
SNS(Simple Notification Service)?
SNSとは、1つのメッセージを複数の宛先に同時配信するサービスです。

SNSの重要な概念
次はSNSの重要な言葉を説明します。
Topic(トピック)
メッセージの配信先をまとめるグループ。1つのTopicに複数のSubscriberを登録できます。
Subscription(サブスクリプション)
TopicとSubscriberの紐付け。誰がそのTopicのメッセージを受け取るかを定義します。
Publisher(パブリッシャー)
メッセージを送信する側。
Subscriber(サブスクライバー)
メッセージを受信する側。SQS、Lambda、HTTPなどが対応しています。
基本操作
これからは基本操作を作成します。
Topicを作成
最初に下記のコメントでTopic cnc-001-statusを作成します。
aws sns create-topic \
|
|---|
Topicの一覧確認
下記のコメントで現在存在してるTopicをリストアップします。
aws sns list-topics |
|---|
Subscriptionの追加
次はキューを作成します。
aws sqs create-queue \
|
|---|
aws sns subscribe \
|
|---|
複数のSubscription
SNSの検証は1対1だと効果がみえませんので、複数のSQSを作成し検証していきます。
SNS Topic (cnc-001-status)
↙ ↓ ↘
cnc-001 cnc-001 cnc-001
-queue -log -alert
(1回の送信で3つ全部に届く)
複数のキュー作成
aws sqs create-queue –queue-name cnc-001-log
|
|---|
Topic cnc-001-status SNS Subscription
aws sns subscribe \
|
|---|
メッセージ送信
SNS メッセージを送信します。
aws sns publish \
|
|---|
メッセージ受信
そして複数のキューにも同時にメッセージ受信されました。
aws sqs receive-message –queue-url http://localhost:4566/000000000000/cnc-001-queue
|
|---|