2016-04-27 5 views
0

私は現在agar.ioのようなnode.jsとsocket.ioのような小さなマルチプレイヤーゲームを構築しています。開発の初期段階ですが、スケーリングについていくつか質問があります。node.jsアプリケーションをどのようにスケールするのですか?

ゲームをプレイしている人が80人未満の場合、それらはすべて一緒にプレイし、すべて正常に動作します。しかし、オンラインで1,000人のプレーヤーがいればどうなるでしょうか?

  • 別々の「部屋」(たとえば1つの部屋= 100人のプレイヤー)にまたがるプレーヤーを分割する必要があります。そうしないと、ゲームが難しくなります。
  • さらに、パフォーマンスを向上させるために、さまざまなサーバー(たとえば、1つのサーバー= 5つの部屋)に複数の「部屋」を分割することをおすすめします。

しかし、私はこの作品がどのように動作するのかわかりません...これらのテーマを共有するためのアドバイスやリソースはありますか?私は現在、それが何らかの違いを生むなら、Herokuのゲームをホストしています。

ありがとうございます!

答えて

1

あなたはsocket.ioの客室と名前空間概念に分割することになるでしょう:

Herokuの上

は、あなたがセッションアフィニティ( 'スティッキーセッション')を有効にする必要があります:迅速な答えを

+0

ありがとう! "部屋と名前空間"は私の最初の問題を解決するのに完璧です。しかし、私は "ノードとアフィニティ"がスケーリングのためにどのように機能するかは分かりません。もっと簡単な解決策がありますか? –

+0

FYI私は選手が異なる部屋にいれば、お互いの間で通信する必要はありません。 –

関連する問題