2/18のデブサミ2016で発表したスライドになります。 著作権の関係上、ネタスライドは全て削除しております。 Developers Summit 2016【18-C-4】 株式会社アカツキ 駒井祐人
2/18のデブサミ2016で発表したスライドになります。 著作権の関係上、ネタスライドは全て削除しております。 Developers Summit 2016【18-C-4】 株式会社アカツキ 駒井祐人
とあるサービスに「チャット機能」を追加しようという話になり、急ピッチで仕組みを用意することになった。 仕様/要件はふわっとしているものの、 2週間後にはリリースというケツは決まっている。 はてさてどうしたものかとその瞬間は思ったものだが、無事仕組みとして載せられたので、備忘記しておく。 リアルタイムチャット機能 要件は以下。 クライアントはWebブラウザとネイティブアプリ (iOS, Android) 視聴者に軽量なテキストメッセージをbroadcastする メッセージの永続化必須 可用性/負荷分散も考慮する 例えば、動画を視聴しているとして、その動画の横に、自分含む視聴者のコメントが流れてくる、 ようなものを想像してもらえれば良い。 Socket.IO 「クライアント - サーバ間のリアルタイムなメッセージのやり取り」ということで、 WebSocket通信させる クライアントサイド/サー
Socket.IOをpm2でクラスタリングするには、ちょっと工夫が必要だったのでメモ forever Node.jsのデーモン化といえばforeverです。しかしクラスタリングしようとすると、Node.jsのコードをクラスタリング対応で書かないといけないのでやや面倒だったりします。今回、foreverよりも高機能なpm2を使ってクラスタリングを試してみました。 pm2 pm2はforeverと同じようにNode.jsをデーモン化するツールですが、モニタ機能やクラスタリング機能などかなり高機能になっています。 pm2のインストール pm2はグローバルでインストールします。 $ npm install -g pm2 対応するNode.jsのバージョンは古いと動かないかもしれません。今回はv0.10.20(on Mac)で動作確認しました。動かすNode.jsアプリはこちらのSocket.IOの
ELBを使用した場合に、WebSocketなどのSocket接続をロードバランシングする方法についての説明です。 (追記:2015年4月10日) 資料を新しいものに更新いたしました。
20140826.md Express / Socket.IO をスケールアウトしてみよう Seiya Konno Works at Uniba Inc. (http://uniba.jp) https://twitter.com/nulltask https://github.com/nulltask https://fb.me/nulltask スケーラビリティとは システムの規模に依らず機能を適応できること リクエストに対するスケーラビリティ アプリケーションコードに対するスケーラビリティ Express https://github.com/strongloop/express 言わずと知れたウェブアプリケーションフレームワーク 右も左もわからなかった頃 => app.js の肥大化 メンテナビリティの低下 アプリの規模が大きくなってもメンテナビリティを確保したい Mounting
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く