とあるサービスに「チャット機能」を追加しようという話になり、急ピッチで仕組みを用意することになった。 仕様/要件はふわっとしているものの、 2週間後にはリリースというケツは決まっている。 はてさてどうしたものかとその瞬間は思ったものだが、無事仕組みとして載せられたので、備忘記しておく。 リアルタイムチャット機能 要件は以下。 クライアントはWebブラウザとネイティブアプリ (iOS, Android) 視聴者に軽量なテキストメッセージをbroadcastする メッセージの永続化必須 可用性/負荷分散も考慮する 例えば、動画を視聴しているとして、その動画の横に、自分含む視聴者のコメントが流れてくる、 ようなものを想像してもらえれば良い。 Socket.IO 「クライアント - サーバ間のリアルタイムなメッセージのやり取り」ということで、 WebSocket通信させる クライアントサイド/サー
![Socket.io + Redis PubSubでリアルタイムメッセージ配信 - tail my trail](https://cdn-ak-scissors.b.st-hatena.com/image/square/679a3dbb1e9ce794f75a861ed2389fac80b9204b/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fu%2Fuorat%2F20150830%2F20150830185442.png)