2014-01-17 10 views
5

私はSocket.ioでnode.jsアプリケーションを開発しており、Heroku Dynoにも同様に展開しています。 Socket.ioはPUB/SUBでRedisStoreを使用しています。 Socket.ioクライアントはherokuの1つのdynoで完璧に動作します。しかし、私がdynoの数を2つ以上(例えば2つ)に増やすと、socket ioのクライアント要求は機能しません。heroku multiple dyno socket.io

socket.ioをサポートしている複数のWeb dynoにherokuを設定する際に、クライアント側の特定の設定が必要かどうかお知らせください。あなたが別のプロセスやマシン間 接続の負荷を分散することを計画している場合

答えて

4

申し訳ありませんが、Herokuのは、スティッキーセッションをサポートしていないと、それはSocket.ioによってサポートされていない

スティッキー負荷分散、あなたがする必要はあり を特定のセッションIDに関連付けられた要求が に接続していることを確認してください。

Using multiple nodes

+0

Fedor Indutnyは、ファイルディスクリプタ(すなわち:接続)が元のremoteAddress(すなわちIP)に基づいてルーティングされることを保証する固定セッションと呼ばれるモジュールを作成しました。 'これをサポートする。 –

1

engine.io github上の問題に大きなスレッドがあります。スティッキーセッション、engine.io、herokuの問題をもっとよく理解できるようになりました。

1

スティッキセッションは現在、Herokuによってサポートされていますが、開発(ベータ版)プログラムに参加した場合にのみサポートされます。

私の経験では、HerokuはSocket.io_Redisプラグインと組み合わせて設定を有効にするとsocket.ioとうまく動作します。

関連する問題