AWS DVA(デベロッパーアソシエイト)の勉強をしていて、ElastiCacheを見ていた時、Pub/Subサーバでをチャットアプリを作成できることを知って、手を動かそうと思いました。
そこで、Amazon ElastiCache for Redisを使ったChatアプリの開発をやってみました。
Contents
Socket.IOについて
まず、Socket.IOについてあまり知らなかったので↓で勉強。
https://atmarkit.itmedia.co.jp/ait/articles/1604/27/news026_3.html
https://atmarkit.itmedia.co.jp/ait/articles/1603/14/news015_2.html
簡単にまとめると以下の通り。
- クライアントサイド
- モジュールの読み込み
- ソケット接続
- 送信/受信処理
- サーバーサイド
- モジュールの読み込み
- HTTPサーバ生成
- ソケットの紐付け
アプリケーションの作成
いざ、「Launch stack」からCloudFormationのスタックを作成してリソースを作成。
驚くほど簡単にチャットアプリが作成できました。
ただし、以下をしないと、リソースが作成されないことがあります。ただ、CloudFormationの場合、エラーが発生した場合、ロールバックによって全リソースが削除されるので、安心して利用できます。
- 作成するリージョンでVPC、キーペアの作成
- CloudFormation用のロールの作成
RedisのPub/Subを使用することで、複数のサーバ間を同期させることができるとのこと。
https://qiita.com/rihofujino/items/7bf4b99e2176f63ca7ef
正直、当初の目的であったRedisのPub/Subをどのように使用しているかは、理解できていないが、分からずともある程度のものが作成できるという、、、恐ろしさ。。。
また、勉強して理解できたら追記する予定です。