0

私は独自の SSL ベースのマルチ プロセス マルチ ファイル記述子スレッド サーバーに数週間取り組んできましたが、言うまでもなく、かなりの量の罰を処理できます。私はオブジェクト指向の方法でC++で書いており、シグナル処理(アトミックアクセスを含む)と例外/ errno.h処理でほぼ終了しています。

目標は、サーバーを使用して Android/iOS 用のマルチプレーヤー アプリケーションとゲームを作成することです。私は実際には完成に非常に近づいていますが、Apacheを使用するだけでそれを達成できることに最近気づきました。

私はいくつかの調査を試みましたが、何も見つからなかったので、サーバーを終了してそれを使用するか、Apacheなどを使用する必要があるかどうかを誰かが判断するのを手伝ってくれるかもしれません。Apache と独自のサーバーの長所と短所は何ですか?

この議論に参加してくださる方々に感謝します!

4

2 に答える 2

1

完全に証明された代替手段が存在する場合でも、いつでも独自のソフトウェアを作成できますが、そうする理由とコストについて意識する必要があります。

たとえば、次のような理由が考えられます。

  • 既存のソフトウェアが遅すぎる/待ち時間が長い/同期が難しい
  • 私の目的のために拡張できない既存のソフトウェア
  • あなたのニーズは、ソフトウェアによって課せられるアーキテクチャと重複しません。たとえば、P2P ネットワークが必要な場合、クライアント/サーバー ベースの HTTP プロトコルは最適ではありません。
  • 低レベルのプロトコルの探索を楽しみたいだけです

あなたのケースにはおそらく最後のものを除いて上記のどれも当てはまらないと思いますが、あなたはあまり詳細を提供していないので、間違っていたら申し訳ありません.

コストは次のようになります。

  • アーキテクチャが混乱する可能性があります。たとえば、10 個のクライアントが TCP 接続を開始しようとしている場合や、永続ストレージ ルーチンでバッファ オーバーフローが発生した場合に、銃声が敵に命中したかどうかを計算するためにサーバーがビジー状態になるという罠に陥る可能性があります。サーバー全体をダウン
  • ゲーム エンジンを処理する必要があるときに、低レベルのものに時間を費やす
  • セキュリティを正しくするのは難しく、侵入テストと正式な証明に何年もの工数がかかります ( openSSL を使用している場合でも)
  • 独自のプロトコルを作成することは、独自のバグを作成することを意味します
  • 独自のプロトコルは、独自のデバッガーを作成する必要があることを意味します (たとえば、curl を使用してテストしたり、HTTP プロキシを使用してトレースしたりすることはできません)。
  • 既存のソリューションですでに解決されている問題の多くを解決する必要があります。インスタンスのキャッシング、認証、リダイレクト、ロギング、マルチノード スケーリング、リソース割り当て、プロキシなど
  • 自分のものについては、自分に助けを求めることしかできません
于 2012-05-11T11:05:00.450 に答える
1

あなたが何を達成しようとしているのかについてもっと詳細が必要ですが、あなたのニーズに合っていれば、いずれにしても Apache を使用します。

  • あらゆる種類のケースと負荷に対して実戦でテストされています
  • 利用可能なすべてのモジュールを利用できます ( http://httpd.apache.org/docs/2.0/mod/を参照) 。
  • 定期的なセキュリティ パッチの恩恵を受けることができます
  • 自分でメンテナンスする必要はありません!

お役に立てれば!

于 2012-05-10T22:13:48.843 に答える