私は、HerokuのNode/SocketIOでリアルタイムマルチプレイヤーゲームを構築しようとしていますが、SocketIO接続データの共有に関して複数のdynosを扱う方法がわかりません。例えばNode.js + Socket.ioを複数のdynosで使用する
:
- Iは、2 Herokuのdynosを有する各実行しているノード+ SocketIO
- プレイヤーAがゲームをホストし、ダイノ1が接続
- プレーヤーBが同じゲームに参加しようとするハンドルしかし、Herokuルータのために、dyno 2はその接続を処理してしまいます。
- アクションはリアルタイムで発生する必要があるため、プレイヤーAがアクションを実行すると、プレーヤーBはそのアクションの結果をすぐに確認する必要があります。
単一のdyno環境では、これは比較的簡単です。プレイヤーAがアクションを実行すると、プレーヤーBに放出されます。複数のダイノーがある場合、これはどのように機能しますか?あなたは(web.1
、web.2
、またはweb.n
)に接続しているどのHerokuのダイノ選択することができない(あるいは知っている)ので