はじめに ※この記事はPart1の続きです 前回はwebsocketを利用してリアルタイムチャットアプリを作成しました ただ前回の実装だと、同一のサーバーに接続しているユーザー同士でしかチャットを行うことができません そこで今回、本番環境でサーバーをスケールアウトさせるケースも意識して、 各ユーザーがどのサーバーへ接続していてもチャットが行えるように改善していきます 具体的にはインメモリのKVSであるRedisが提供しているPub/Sub機能を利用します 利用する技術とか Client ・ React 18 ・ TypeScript ・ Vite ・ Recoil Server ・ Golang 1.18 ・ gorilla/websocket ・ go-redis その他ミドルウェア ・ Redis7.0.2 ・ Docker,docker-compose ※ソースコード全文はこちら