とあるサービスに「チャット機能」を追加しようという話になり、急ピッチで仕組みを用意することになった。 仕様/要件はふわっとしているものの、 2週間後にはリリースというケツは決まっている。 はてさてどうしたものかとその瞬間は思ったものだが、無事仕組みとして載せられたので、備忘記しておく。 リアルタイムチャット機能 要件は以下。 クライアントはWebブラウザとネイティブアプリ (iOS, Android) 視聴者に軽量なテキストメッセージをbroadcastする メッセージの永続化必須 可用性/負荷分散も考慮する 例えば、動画を視聴しているとして、その動画の横に、自分含む視聴者のコメントが流れてくる、 ようなものを想像してもらえれば良い。 Socket.IO 「クライアント - サーバ間のリアルタイムなメッセージのやり取り」ということで、 WebSocket通信させる クライアントサイド/サー