Web アプリケーション (ゲーム) を設計しており、実装に C#/.Net を使用する予定です。達成したいことを考えると、スケーラビリティとパフォーマンスに懸念があります。これがアプリです。多くの王国からなる仮想世界があります。覇権をめぐってこれらの王国の間で戦争が起こります。ゲームのプレイ中に、世界の正確な人口をリアルタイムで表示したいと考えています。つまり、人が生まれたときに人口が増加し、戦争 (またはその他の方法で) 死亡したときに人口が減少します。したがって、私の問題は、おそらく数千人のゲーマーによって更新され、Web ページに表示される数値に要約されます。これをどのようにリアルタイムで管理しますか。数をデータベースに保存することは、同時に何度も更新する必要があるため、おそらく機能しません。他にどのようなテクニックを使用できますか? これは No-SQL データベース、memcached、ハドゥープ?助言がありますか?
どうもありがとう。
1 に答える
0
更新をクライアントに「プッシュ」することは、おそらく良い考えではありません。これは、トラフィックが高くなるとネットワークが詰まるからです。代わりに、人口を約 1 秒ごとにクエリする必要があります。これにより、ボトルネックがサーバーの CPU に移動します。サーバーの CPU は通常、ネットワーク接続よりも高速です。
クエリ間で人口を追跡する必要があるため、おそらく人口データを格納するための何らかのデータベースが必要になるでしょう。
このアプローチでは、データが増分/減分の代わりに毎回置き換えられるため、クライアントのデータが破損することも防止されます。
于 2012-06-21T22:14:07.547 に答える