0

たとえば、CPUを集中的に使用するC ++コンソールアプリケーション(ゲームサーバー)が1つあります。複数のマシンで1つのアプリケーションをスケーリングできるようにするために特別にプログラムする必要がありますか、それとも2〜3台のサーバーを単一として機能させるための特別なソフトウェアがありますか?

更新:ログインサーバーをゲームサーバーから分離しました。サーバーには、すべてのプレーヤーが集まる場所がありますが、そのようなCPU作業はありません。ゲームスレッドで最も多いのは、プレーヤーがゲームを作成する-1スレッドです。

私が理解したように、別のサーバーマシンでゲームインスタンスを作成できるようにアプリケーションをプログラムする必要がありますか?

4

2 に答える 2

1

負荷分散を念頭に置いてプログラムする必要があります。

すでに実行している場合は、マルチCPU/マルチコアマシンで追加のコア/追加のCPUを使用できるように、できるだけ多くのものをスレッド化できるようにしてください。

次に、ログイン情報などを処理するために、メタゲーム情報を別のマシンに移動することを検討します。

于 2012-08-15T08:09:52.117 に答える
1

サーバーは、それ自体の他のインスタンスが存在する可能性があることを認識できるようにプログラムする必要があります。たとえば、他のインスタンスが他の誰かがそれを実行していることを認識し、実行しないように、タスクの一部だけを責任として取得することによって。それを2回。

負荷分散の場合-自動負荷分散を行うソフトウェアがいくつかありますが、実際のサーバーがそれをサポートしている場合にのみ、負荷分散が正しく機能します。

于 2012-08-15T08:11:06.180 に答える