常に少数の同時ユーザーがいる小さなsocket.ionode.jsアプリを実行しています。ほとんどの場合、単一のプロセスで100%実行できます(私のLinodeまたはHeroku [1]のどちらでも)。
私はそれを数日間少し公表したいと思っています。その間、かなりの量のトラフィックが予想されます。これは、同時WebSocket/xhrポーリング接続を意味します。ただし、2つのsocket.io接続は相互に通信する必要はありません。
アプリはかなり長い間私のLinodeで実行されていましたが、最近、1つの無料のherokudynoに転送しました。xhr-polling(herokuはWebSocketをネイティブにサポートしていません)で実行していても、非常に高速です。
Linodeを利用して、アプリを基本的に実行および負荷分散する方法に興味があります。ただし、速度が低下し始めた場合は、ユーザーを実行中のheroku dynoにプッシュします(またはその逆)。これはnode-http-proxyのようなもので可能になるはずですが、正しく実行するのに苦労しました。うまくいけば、ポイントに到達するように微調整するか、スイッチをフリックして、2番目のサイトへのユーザーのバランスを取り始めることができます。
基本的に、私は正しい方向に向けられることを望んでいます。コードはいいのですが、必須ではありません。ソリューションはノード内にある必要はありません。
ありがとうございました!
[1] nodejitsuもかなり前から試しましたが、本番環境で使用する準備ができていませんでした。
編集:ここで説明されているように、単純なラウンドロビンを使用する必要がありますか?どちらか一方を優先したい場合はどうすればよいですか?