1

マルチテナント エンタープライズ システムの基本フレームワークをまとめているところです。

クライアント側は、ajax を介して asp.net Web API を介してデータベースと通信する asp.net mvc Web ページになります。

私の質問は、スケーラビリティに関するものです。クライアントをサーバーから分離する必要がありますか? つまり、あるプロジェクトのクライアント側/フロントエンド コード/ビューと、別の別のプロジェクト サーバーの webapi です。したがって、1 つのサーバー (サーバー A) が負荷/サイズでピークアウトし始めた場合、別のサーバー インスタンス (サーバー B) を作成するだけで済み、すべての新しい顧客はサーバー B の webapi を指します。

それとも、すべてを 1 つのプロジェクトとして統合し、負荷の増加に合わせて SQL サーバー側をスケールアウトする必要がありますか (動的なクラウド スケーリング)。

リングに帽子を投げる前に、アドバイスが必要です。

前もって感謝します

4

1 に答える 1

1

私たちは、API と単一ページ アプリケーションを分離するという道を歩んできました。ここでの理由は、シングル ページ アプリケーションを単なる別のクライアントとして扱うことを強制するためです。その結果、完全なクライアントに必要なすべての機能を提供する API が生成されます...

デプロイに関しては、シングル ページ アプリケーションを Web サイト ルートとして、API デプロイを含む /api アプリケーションに貼り付けます。オンプレミスでは、必要に応じて、アプリケーション リクエスト ルーティングまたは何らかのコンテンツ認識ルーティング メカニズムを使用して、さまざまなサーバーに送信できます。Azure では、ロール メカニズムごとに複数の Web サイト (http://msdn.microsoft.com/en-us/library/windowsazure/gg433110.aspx) を使用し、負荷に応じてこのロールをスケーリングします。

同じドメインに住んでいるように見えると、JSONP や CORS の醜さを気にする必要がないため、物事が簡単になります。

乾杯、ディーン

于 2012-07-12T12:51:14.367 に答える