#正確に用語を覚えよう
こんにちは.
AWSには似ている用語がたくさんあって,何がなんだかわからなくなりませんか?
とりあえずSが先頭につくものはシンプルです.
EはElasiticです.
ややこしいな.全く.
いちいち先頭につけるからわからなくなる.
特に,SNSなんてわかりそうな単語!!
って思ったら
私たちの知ってるTwitterやFacebookのSNSとは全然意味が違う!!
っていうパターンもありますしね.
それでは,一つ一つ説明していきましょう!
Simple Queue Service
キューだけ覚えましょう.
###キューのおさらい
キューとスタックって勉強しましたか?
溜め込んだものを取り出す操作なんですが,
キューは穴あきの箱に,
スタックは底ありの箱に溜め込む
と覚えましょう.
穴あきの溜め込み操作です.
##SQSのお仕事
SQSはメッセージのやりとりを非同期で行うサービスです.
非同期は,レスポンスを待たずにクライアント処理を行ってくれるものでしたね!
DBに書き込むのに時間がかかる場合なんかが,
SQSに溜め込んで,Dequeueをすることで通信速度の遅延を防ぐことが出来ます.
キューには2種類あって,
標準キューとFirst In First Out キューがあります.
標準キューは早い順
First In First Out は順番通り
に処理が行われます.
##SNS
**Simple Notification Service **
Notification と言うことで通知です.
図のようなサービスに通知させます.
Cloud Watch/SES/S3/Elastic Tramscoderと連携して通知をさせるのが一般的な使い方です.
##SNSの用語を押さえておこう
SNSには初耳な用語が関わってきます.
まずはそれらの定義から.
パブリッシャ ... メッセージ送信者のこと サービスの管理者など
サブスクライバ ... メッセージ受信者 メールやsms,httpなど(チャネル).
トピック ... 複数のサブスクライバをまとめたもの.
###SNSの使い方
- パブリッシャがトピックを作成
- トピックからサブスクライバを登録->urlやメアドをここで登録
- パブリッシャがトピックに向けてメッセージをパブリッシュすると,選択したチャネルでメッセージ送信!!
##SES
Simple Email Service
メールサービスです.
僕は従来はsendgridというサービスを使っていたのですが,
sesも同様にAPIもあるみたいで,AWSでメールサービスも完結.
顧客に対して,サービスの状況をメールで自動で送ってくれます.
また,受信したメールトリガーにしてSNSと連携なども出来てしまいます.
メールサービスでよくある,
- HTTP REST API
- Simple Mail Transfer Protocol(SMTP)
という2つの利用方法があります.
1は言語によってAPI経由で呼び起こします.(コードにapiを使って書き込む)
どの言語にも対応しているので,言語SDKから選択すればテンプレ通りに簡単に埋め込めます!
2はサーバーポートでSMTPリクエストを受け付けます.
手動で書き込むタイプ.
自動化するなら1でしょう.
てか,実用するなら迷わず1でしょう.
##SWF
Simple Workflow Service
タスク(ひとかたまりの処理)の管理とワークフローの管理を行う為のサービス.
すなわち,AWSが提供するジョブ管理システム.
###何ができるの?
例えば,jsでコーディングをする場合.
jsでは非同期で処理を行っていますが,
戻り値が欲しい時はpromiseやコールバックを使って同期的に処理を行う時などがあります.
そのような,
同期/非同期タスクを一連のフローとして設計し,対象障害性を高めることが可能になります.
このようにシンプルから始まるこんがらがりやすい単語をまとめておきました.
AWSのより深いサービスを使うには,これらの用語を覚えていないと,
わけがわからなくなるので,メモとして使ってみてくださいませ.