私は、何千人ものプレイヤーをリアルタイムで保持するリアルタイムゲームを開発しています。これに最適なサーバー構造は何でしょうか?
私のアイデアは、2つのサーバークラスターを使用することでした。1つはサーバーエンド(すべてのコンピューティング側)用で、もう1つはデータベースエンド用で、ロードバランサーは各クラスターに対して「責任」があります。 1つのメインサーバーがユーザーからの要求を受信し、ユーザーがこれを実行できる関連サーバーのIPアドレスを送り返します。
データベースクラスターは、データベース間の一貫性のためにデータベースレプリケーションを使用します。
ゲームには.NET + MSSQLを使用しています。
レイテンシーはゲームの最大の敵になります。ゲーマーはラグを許容しないため、ラグを最小限に抑える必要があります。
あなたが興味を持っているかもしれないゲームサーバーインフラストラクチャに関するいくつかの興味深い記事があります:
http://www.eveonline.com/devblog.asp?a=blog&bid=769
http://wiki.eveonline.com/en/wiki/RAMSAN
http://www.datacenterknowledge.com/archives/2009/11/25/wows-back-end-10-data-centers-75000-cores/
https://stackoverflow.com/questions/1418749/how-are-massively-multiplayer-online-rpgs-built