タグ

websocketとredisに関するnabinnoのブックマーク (4)

  • PlayとRedisでスケーラブルWebSocket(実装編)

    前回の続きです。 実際にPlayとRedisでWebSocketアプリケーションを作成したコードサンプルを示します。 ★題材 今回の調査の途中でドンピシャのサンプルを見つけています。 http://www.ryantanner.org/2013/03/using-play-iteratees-and-enumerators.html PlayにバンドルされているサンプルのチャットをRedis対応したサンプルアプリです。 接続情報を環境変数から取ってるふりして実はlocalhost固定だったとか、チャットルームのメンバリストをローカル管理してるから厳密にはスケーラブルになってないとか、手を入れ始めるといろいろ気にはなったんですが(^^;、WebSocket/Redisのコードサンプルとしては非常に有益で必要十分な内容でした。 記してここに感謝します。 今回の作業のゴールはこれを改良して汎用的

  • 大規模Node.jsを支えるロードバランスとオートスケールの独自実装(FRPもあるよ) - Qiita

    というテーマで東京Node学園祭2015でセッションさせて頂くことになったので、先に整理/メモ的ななにかを。 (追記)以下資料で発表しました。 大規模Node.jsを支える ロードバランスとオートスケールの独自実装 http://www.slideshare.net/kidach1/nodejs-54841327 作ったもの ・スマホゲーム(マルチプレイアクション) 【公式】メザマシフェスティバル(メザフェス) | 株式会社アカツキ https://mezamashi-festival.aktsk.jp ・2D横スクロール ・マルチプレイ ・4人同時対戦 ・座標同期型 ・全国マッチング システム概要 Client: Cocos2d-x (c++) Server: API Server:Rails Websocket Server:Node.js 詳しくは スマホアプリにおけるマルチプレイア

    大規模Node.jsを支えるロードバランスとオートスケールの独自実装(FRPもあるよ) - Qiita
  • Phoenix で Redis の Pub/Sub を使って WebSocket をスケールアウトさせる - Qiita

    WebSocket を利用するアプリケーションは Pub/Sub サーバを使ってスケールアウトさせるのが一般的です。 今回は Redis の Pub/Sub 機能を使って Phoenix の WebSocket をスケールアウトさせてみます。 Phoenix で WebSocket 通信をさせる方法はコチラをご参照ください。 事前知識: WebSocket アプリケーションのスケールアウトについて 通常の Web アプリケーションにおけるスケールアウトは、サーバ台数を増やしてロードバランサでリクエストを分散させる、というのが一般的ですが、WebSocket アプリケーションではこの手法が使えません。 なぜかというと、WebSocket アプリケーションはコネクションをサーバ内で管理するステートフルな作りになっているためです。冗長化させたサーバにリクエストを分散させてしまうと、他サーバで接続

    Phoenix で Redis の Pub/Sub を使って WebSocket をスケールアウトさせる - Qiita
  • Ruby on Railsとrubymotionでリアルタイムweb構築 - Qiita

    リアルタイムweb? リアルタイムにwebの情報をサーバからのpush通知で更新する。 有名どころでいうとFB、Chatwork、Twitterとか。 技術的には方法が大きく3つある。 ・ポーリング(Polling) 一定の時間に一度、Ajaxでサーバに接続させ 新しい情報がないかどうか調べる。擬似的なプッシュ型。 ・コメット(Comet) クライアントから送られてきたレスポンスをすぐに返さずに処理中の形を取ってコネクションを張ったままにする。 新着の情報があったタイミングでレスポンスを返す。 ・Websocket HTML5より作られた新しい通信規格。独自のプロトコルを持つ。 先程の2通りのデメリットを補いより効率よく双方向通信が可能。 今回は技術的な流れも含め、Websocketを用いる。 railsでどうやって構築する? railsを用いる事をmustとするなら調べた中だと多く3つ。

    Ruby on Railsとrubymotionでリアルタイムweb構築 - Qiita
  • 1