グローバル同じサービスアーキテクチャ

ただ、世界で唯一のサーバーでいくつかの類似したスーツを行って、単にそれから、悪いありません不思議を語ります。まず、ゲームサーバはIO集約型サーバは、それはかなり覚えておくべきポイントCPU、より、ネットワークIOの主要なボトルネックだ、です。だから、多くの場合、問題ではなく、上記のCPUの、上記のネットワーク・サーバIO、帯域幅やデータベースのディスクの読み取りと書き込みに表示されます。実際には、このよう一層C1000k、またはようなものがたくさんあるグローバルなオンラインサービス、と。同じ服は、同じサーバー上の自分自身に、または完全に非現実的である同じプロセス、上だけで同じ服を見て、というよりも。優れたサーバ・プロセスは、ゲーマーが同時に10Kのロードすることができます(また、ロジックのゲームの複雑さによって異なります)かなり良いされています。実際には、サービスで世界に、サーバー・プロセスは、ヒープ事にあります。1.Gate:すべての最初が(もっと)門(ゲートウェイ)サーバはゲームサーバへのクライアント接続と転送メッセージを担当している(ゲーム私は、BigWorldのアーキテクチャ設計、同社はまた、押している建築モデルの1について話を使用しましたサービス)(クライアントとサーバのみ暗号化と復号化メッセージ、任意のロジックなしでサーバとクライアントの接続を保持する)サービスロジックから選択されたメッセージ(両者間のブリッジの等価)2.GameServer :.ゲームサーバに転送しますボトルネックのモデルは)ゲームは論理関数に(単一のプロセス(またはシングルスレッドを提供し、ゲームのメインコースである、ゲームはサーバーのCPU、これだけの論理機能は、シングルスレッド化に十分な、ここでは複数のスレッドやプロセスを使用する必要はありませんことはなかったです)。3.DBManager:データベースが読み取りおよび書き込み、読みやすくするために、書き込みデータゲーム非同期のデータベースサーバー(データベースが読み書きゲームに服の一部を、全く別のサーバーが存在しない、それはおそらく、単一のゲーム処理が良い十分ではありません務めました)。4.GameManager:ゲームサーバ、ゲームサーバ間のメッセージ転送のすべてを管理するための責任、申し出は、すべてのゲームの特徴に放送します。クライアントにも門、門にもゲームサーバ、ゲームサーバであってもDBManagerの、GameManagerは、すべてのゲームサーバを管理し、すべての門を知らせます。GameManagerに加えて一つだけでは、理論的には門、ゲームサーバは、DBManagerの複数のインスタンスに拡張することができ、あなたは世界で唯一の衣服を実現する必要があり、理論的には、彼らはスーツでそれを見えるようにする方法、その後、ゲームサーバを拡張するのですか?実際には非常に簡単、COCほとんどが単一サービングプレイ、あなたはそれが同じサービスで感じることができる唯一のインタラクティブな遊び。サーバー・ロジックに対処するための主要な場所であるメインの話ゲームサーバ、通常、シングルプロセス、それは、イベントがepoll_waitはライブの観客を保持して、配布を行うには、CPUを運ぶことができる、理論的には住んでいた、とのepollはキャップを扱うことができ、一般的なメモリを搭載したマシンの場合、1024よりもはるかに大きい、到達100K通常、当然の、ロジックの複雑さ、それを処理する一般的な例を考えるとコネクタ10Kに近接しています。それは、複数のインスタンスであり、これはそれが唯一のサービスであること、1000K、100Kの対処方法ことがさらに?はい、可能にする少なくとも現れで、ゲームは当然に自分の自然な服で、シングルプレイのシングルおよびマルチプレイヤーゲームプレイを果たし、誰もが他の人と知らないサービスではありません。もちろん、フルサービスのランキングがありますが、それは実際には非常に簡単であるようにバディシステムの操作を行い、我々はGameManagerを持っていないあなたが友達リクエストを送信するたびに、それは、そうする責任があるか、GameManagerは、メッセージをブロードキャストして、もしプレイヤーのゲームサーバの存在は、その後、あなたが相互に通信することができ、あなたへの対応、そしてちょうど同じのように、GameManagerによってサーバーに直接転送プレイヤーのサーバーのID番号を取得する簡単な方法は、当然、通信することができますしたいですサーバー。最も簡単にそれをランク付け、サーバーを指定するか、またはリストを行うには、単一のサーバを開き、すべてのデータの変更は、その後自然に並んで、その後、放送するサーバーを、知らせるためです。ダブルまたはそのコピー以上のものを戦って?COC、略奪戦争は、我々はアプローチをしたような、直接データのシリアル化後に敵、そして彼自身の選手、兵士や他の軍のニーズを検索することですサーバー間で普及が進む、デシリアライズ、そして壊れたストレート、その後、データ転送をバックキック。より多くの人々が行う、見つけるのは簡単です、そして責任ある人々が遊ぶBattleServerと呼ばれるサーバーのクラス、、、遊びのコピーし、その後、人々、すべての人々BattleServerに移行したデータに、のような人々を開きます(遊びのコピー)終わり、その後、GameManagerの移行データによって、元のサーバーにバックアップ。このビューは、実際には、世界で唯一のサービスには上のように大きなはありません。あなたが興味を持っている場合、あなたの要件を満たすように設計された著者BigWorldのアーキテクチャに応じて、KBEngineサーバエンジンを見ることができます。あなたは私のブログを読むことができます:手の旅行サーバーの開発技術を説明します

します。https://www.zhihu.com/question/31103751

公開された47元の記事 ウォン称賛21 ビュー110 000 +

おすすめ

転載: blog.csdn.net/boiled_water123/article/details/104776369