フロントエンド Web サイト用に MVC3 (または 4) を使用して Web ゲームを作成することに興味があります。これは、私が最も快適に作業できる Web フレームワークだからです。例として、これが不動産ゲームだとしましょう (楽しい!..)
これをスケーラブルな方法で行う方法について、私は長い間懸命に考えてきましたが、次の小さな質問/ジレンマにたどり着きました。
1) ゲーム サーバー ロジックを実際の Web サーバー自体にコーディングします。
利点: Web サーバーはエンティティ フレームワークを直接利用できます。これは、データ操作に最適です。
問題: スケーラブルではありません。ゲームは 1 つのサーバーにほぼ制限されており、過密になり遅くなる可能性があります。各 Web サーバーを単一の「レルム」として使用した場合、潜在的に機能する可能性がありますが、10 個の「レルム」が実行されている場合、データベース サーバーに多くの負荷がかかる可能性があります。
2) ゲーム サーバー ロジックを個別の C++ 実行可能ファイルとして、場合によっては別のマシン上でコーディングします。
利点: スケーラブル - 複数の Web フロント エンド サーバーをゲーム サーバーに接続でき、いずれかの Web サーバーがダウンしても停止しません。
問題: Web サーバーとゲーム サーバー間の通信が困難です。おそらく、ソケット接続をセットアップし、ある種の通信プロトコルを確立する必要があります (おそらく XML を使用します)。さらに、ゲーム サーバーはデータ ストレージを担当する必要があり、エンティティ フレームワークに対する MVC の洗練されたサポートを無駄にしているように見えます。別のサーバーへのソケット クエリが必要な場合、データベースに何かが既に存在するかどうかを確認するなどの MVC3 の単純な作業は、かなり骨の折れる作業になります。
この種の問題を経験したことがある人がいたら、どうすれば最善のアプローチができるか教えていただけますか?