1

以前は本当の充実したサーバーを作成したことはありませんでしたが、あまり設計が必要ないソケットとマイナーなサーバー/クライアントアーキテクチャを扱っていました。サーバー/クライアントアプリケーションを作成する際のベストプラクティス

サーバ/クライアントアーキテクチャを設計する際に検討すべき設計パターンは何ですか?
サーバーを設計する際のさまざまなアプローチは何ですか?

これは要件によって異なりますが、私は、多くのクライアントを受け入れ、複雑な要求を処理し、応答と要求を送信できる大規模アプリケーションサーバーについて語っています。

+3

非常に曖昧な質問 –

+0

@Neeme Praks:トピックは非常に一般的ですが、私は基本的にどのように大きなサーバー(Apache、Jetty、NodeJSなど)を行ったのか、デザインと他の利用可能なデザインなどとのトレードオフ何度も何度も行われて以来、私はここでホイールを再発明したくはありません。私は大規模なサーバー/クライアントアプリケーションの設計方法を実際には分かりません。 –

+0

私はこれがあなたが扱っているプロトコルのタイプに非常に依存していると思います。 Apacheのようなステートレスサーバーは、FTPサーバーとは非常に異なっています。 HTTPサーバーについて話していますか? – deceze

答えて

1

まず、この領域で使用できるものを見て、既に書かれたフレームワークを探します。

サーバー上でタスクをスケジューリングし、キューを処理するための実際のコードは、複雑で困難なものです。誰か他の人にそれをして本当にやりたいことに集中させる方が良いです。

ここにはいくつかのオプションがあります。

サーバーとしてデータベースエンジンを使用し、クライアントのすべてのロジックを非常に80〜80秒にしますが、正常に動作します。

あなたのサーバーにApacheやISSのようなWebサーバーを使用すると、ロジックのほとんどがサーバーの部分にあり、クライアントはちょうど(それほどダムではない)ブラウザです。

「.net」のようなフレームワークをJ2EEやWebservicesでも使用して、完全なクライアント・サーバー環境を提供します。

+0

私の場合は、ソケット上で管理されていないC++サーバーと通信するためにSilverlightクライアントが必要なため、少し特別です。しかし、一般的には正しいです。ここで問題となるのは、常にHTTPが必要というわけではないということです.C++を扱うときには、Webサービスを扱うフレームワークはあまりありません。 –

関連する問題