2016-08-04 21 views
0

提案。提案MVC .NET

はじめに サブドメイン名に基づいて、別のDBに接続されるMVC .NET Webベースアプリケーションの作成に取り組んでいます。 2kアカウントは、それぞれ約100人のユーザーを持ちます。

これを処理するための最適なアーキテクチャ提案を見つける。

説明 - アカウント/サブドメイン数は2K以上になります。 - 各アカウントには約100人のユーザーが含まれます。 - データベースはMSSQLになりますが、各サブドメインは異なるDB接続を持ちます。

iは

質問

  1. 上記の要件のために最高の、スイートますURL構造の種類、あなたは以下の質問に/専門家のフィードバックを支援するために要求することができます。 ロジック1またはロジック2またはロジック3、これが最適ですか?サーバは、この多くの回答を耐えることができますどのように

    enter image description here

  2. ?これは.NETのアプリケーションプールに関連していますか?詳細についてはこちらをご覧ください。 2000サブドメインX 100ユーザー= 2,00,000リクエスト、1つのコードベースでこの多数のリクエストを処理できますか?実装するのがベストです

  3. ロジック1またはロジック2 ORロジック3、?他の人との優位性は何ですか?

  4. これは最高の業界標準である複数のservers.Isを持つ単一のドメインを扱うGoogleの/ Facebookのなど?

  5. 私たちが知っているように、ロジック1、私たちは、これは、同様のロジック3のために適用されます、各サブドメインに対して複数のアプリケーションプールを設定することができますか?

  6. 最高の理由である、ロジック1とロジック3を考えると? Webサーバーに負荷がかかり過ぎると、その時にLogicが最適な別のWebサーバーを追加する必要があります。知られているポイントを共有

  1. 我々は異なるサブドメインに別のアプリケーションプールを追加することができます。
  2. この多くのリクエストを管理するには、APPサーバーがハイエンドサーバーである必要があります。
  3. サーバー上の負荷/トラフィックが増加すると、ロードバランサを追加する必要があります。
  4. ベストプラクティスが必要で、高価なインフラストラクチャも考慮に入れることができます。

答えて

1

URL構造は、( - ちょうどクエリ文字列であなたの「データベース名」を公開していない限り、それはない「ロジック3」のように)、ここでは本当に無関係です。ただし、「各顧客のサブドメイン」に行くとワイルドカードSSL証明書を購入する必要がありますが、これはもう少し高価です。さらに、IIS はまだdoes not supportのワイルドカードサブドメインなので、設定には奇抜なことがあります。それ以外はどちらのオプションも問題ありません。

最近、ロードバランサはかなり必要です。一方、私は "ハイエンド"ハードウェアに投資しません。途中の2台のサーバーで十分です。あなたが気にするべきことは、これら200,000人のユーザーを獲得することです。データベーススキーマについて

、MSDNのMulti-Tenant Data Architectureの記事を参照してください。基本的に、正しい答えは一つもありません。各オプションには、独自の利点と欠点があります。あなたが望むように(アプリケーションの単一のインスタンス、のように)

シングル「コードベースは、」できるだけ多くのデータベースを扱うことができます。ここでの唯一の制限はSQL Server自体です。 Maximum Capacity Specifications for SQL Serverによると、 "SQL Serverのインスタンスごとのデータベース"の最大数は32 767ですが、実用的であるかどうかはdebatableです。

+0

この情報は本当に役立ちます。シングルコードベースが複数のデータベースに対応できる場合は、ご意見をお寄せください。 1つのコードベースで2kデータベースを言うことができます。 –

+1

@PragneshKaria私の編集を参照してください。 –

+0

@ AntonGogolev-質問を修正しました。私はもう一つのシナリオを比較して見つけました。ご意見をお聞かせください。 –