WCF を使用してクライアントと通信するクライアント サーバー アプリを設計中です。負荷が高くなり、分散型の設計が必要になる可能性があります。そのために、アプリケーションをいくつかのサービスに分割しました。リクエストを処理するために N 個のサービスを実行できます。
- ログインサービス
- ゲームサービス
- ルームサービス
- 等
ログイン サービスは、ロード バランサを持つことができます。次に、実行中のゲーム サービスの 1 つに要求を送信します (異なるマシンで N 個のゲーム サービスが実行されている可能性があります)。
私が理解しようとしているのは、ログイン サービスがゲーム サービスについてどのように認識できるかということです。(この時点で非常に高いレベルで) 2 つの解決策を考えることができます。
1) ゲーム サービスが起動すると、それが誰で、どこにあるかを示すレコードがデータベースに作成され、ログイン サービスはそこをチェックしてすべてのサービスを見つけます。これには問題があり、サービスがドロップされ、リストが最新の状態に保たれているようです。
2)新しいサービスが参加すると、ログインサービスに接続し(それがどのように起こるかはわかりません。それを見つける方法について何らかのハードコーディングを推測します)、そのサービスに登録します。次に、ログイン サービスは DHT またはそれらのリストを保持して、要求のルーティング先を認識できるようにします。
私は分散アプリの世界全体に不慣れで、物事を行う良い方法を見つけようとしています。このプロジェクトは、部分的には私自身の知識と利益のためのものですが、実用的なアプリに発展することを願っています.
ありがとう