You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
Content-Length: 235253 | pFad | http://b.hatena.ne.jp/hirose31/node.js/
Node.js Cluster+Socket.IO+Redisによるリアルタイム通知システム | サイバーエージェント 公式エンジニアブログ
JSX Advent Calendar のひとつです。 JSX コンパイラの生成する Javascript コードは、玄人の叡智により最適化されており速い。 しかし、じっさいにアプリを速くするためには、その前にやることがある。 コンパイラの最適化は、コードの表面を削る。それは紙やすりのようなものだ。美しい木のテーブルに最後の表面仕上げをするように。 しかし、まずはテーブルをきちんと組み上げないといけない。足の長さが違っていたら、のこぎりでギコギコ切ることになる。それには紙やすりだと日が暮れる。 コードの意味を吟味し、構造的な改革、 O(n^2) -> O(n) にできないかとアルゴリズムを考え直す。そういうことをまず一通りやり尽くすこと。のこぎりでぎこぎこ。 とはいえ、速くすべき箇所がわからないとなんとも考えようがない。どこを磨くといちばんきれいになるのか? そこでプロファイラの出番になる
Node におけるスケールアーキテクチャ考察(Scale 編)というエントリーを読んで、RedisはPub/Sub型通信をサポートしているという事を知りました。エントリーでも言及されているように、Pub/Subを使えば Node.js + WebSocket サーバをスケールする際に、中継サーバの役割を果たす事が出来るはずです。 そんな訳で実際に Node.js と Redis を使って Pub/Sub の実験を行なってみました。ユーザが別々のNode.jsサーバに接続していてもWebSocketを通してメッセージのやり取りを出来るようにします。 イメージとしてはこんな感じです。 下準備# Ubuntuの場合は apt-get で1発でインストールする事が出来ます。 $ sudo apt-get install redis npmでredisモジュールをインストールします。 $ npm i
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く
Fetched URL: http://b.hatena.ne.jp/hirose31/node.js/
Alternative Proxies: