タグ

pm2とあとで読むに関するfumikonyのブックマーク (2)

  • Socket.IO(v1.3.5)+Redis+pm2+NginxでWebSocketサーバをスケールさせる - Qiita

    サンプルコード 新バージョン:Socket.IO(v1.3.5) + pm2(forkモード) 旧バージョン:Socket.IO(v0.9) + pm2(clusterモード) 前置き Socket.IOのv1.0でRedisを使ったスケールの仕方が変わり、 pm2のclusterモード(Node.jsのclusterモジュール)を使っていたv0.9用のスケールの仕方がそのままでは通用しなくなりました。 v0.9用のスケールの仕方に関する参考情報 Socket.IO, Redisを使用し各ゲーム間でプッシュ通知するシステム Node.js + Socket.IO + pm2でデーモン化とクラスタリング Express / Socket.IO をスケールアウトしてみよう 目的 最新のSocket.IO(v1.3.5)とpm2を使ってWebSocketサーバをスケールさせる方法を調べました。

    Socket.IO(v1.3.5)+Redis+pm2+NginxでWebSocketサーバをスケールさせる - Qiita
    fumikony
    fumikony 2015/11/16
    この構成でNginxを冗長化したくなった場合、複数のNginxの間でip_hashによるハッシュのされ方が同じであることは保証できるのか?
  • Socket.IO を PM2 でロードバランシングしたい - Qiita

    目的 PM2を使って、Socket.IOのプロセスを多重化してロードバランシングする。 問題点 Socket.IOは接続情報をオンメモリに保存しているので、プロセスを多重化してロードバランシングを行うと、接続情報の無いプロセスに接続した場合には新規connectとなる。 解決策 Socket.IOの接続情報をredisに保存することにより、プロセス間はredis経由で接続情報を共有する。 ただし! Socket.IO 0.9系の接続しか成功しない。1 Socket.IO 1.2系, 1.3系ではadapterを使うらしいが、公式2のとおりに書いても動かない。 Node.jsのバージョンが0.12以上でなければならないという記載を見かけたが、0.12を使っても動かない。 提案 単一のポートでプロセスの多重化を行うことにこだわないのであれば、プロセス毎にポートを分けて、プロセス間で接続情報を共

    Socket.IO を PM2 でロードバランシングしたい - Qiita
  • 1