5

Azureで実行している3つのWebプロジェクトがあります。現在、すべてのサイトが1つのインスタンス内にあり、コストを削減するのに最適ですが、Webプロジェクトの1つに需要のピークがあり、他のサービスの速度が低下したり停止したりする場合はそれほど大きくありません。

2つのサイトが同じドメイン(1つは異なるポート)にあり、もう1つはサブドメインにあります。サイトの優れている点は、ホスト名を使用して、同じポートで実行されているサイトを区別できることです。サブドメインサイトがWebロールとして参照されている場合、他の2つのWebロールとは異なるポートが必要になります。

問題は、2つのクラウドサービスを使用できても、ソリューション内で同時にデバッグできないことです。それらを2つのソリューション内に配置すると問題は緩和されますが、頻繁に変更されるクラスライブラリを共有するため、これをWebロールの別のソリューション内に配置すると、私の経験ではデバッグが非常に難しくなります。

どんな助けでも大歓迎です!

4

1 に答える 1

3

ここでの本当の質問は何ですか?

まず、すべてのサイトを1つのWebRoleに含めることに問題はありません。ピークに達したら、スケールアウトするだけです。はい、すべてのサイトをスケーリングしますが、これは利点にすぎません。Windows AzureロードバランサーはRoundRobinアルゴリズムを使用します。これにより、すべてのリクエストがすべてのインスタンスに均等に送信されることが保証されます。もう一度言いますが、ピークが表示されたら、スケールアウトするだけで、心配する必要はありません。結局のところ、これがAzureの略です。とにかくスケーリングするので、コストについては実際には問題ではありません。Webロールごとに1つのサイトであろうと、Webロールごとに10サイトであろうと、規模は規模が大きく、同じ費用がかかります。

他の懸念については。私はマルチプロジェクトソリューションをたくさん扱ってきました。また、複数のプロジェクトで使用される共通のライブラリで問題が発生することはありません。特に、すべてが(ソース)管理下にある場合。Visual Studioには、「既存のプロジェクトを追加」という優れた機能があります(ソリューションを右クリックした場合)。

既存のプロジェクトを追加する

したがって、共通クラスライブラリは、多くのソリューションで使用され、ファイルシステムの1つの場所で編集される単一のプロジェクトです。

結論として、もう一度言います。ピーク時にサイトをスケールアウトするときに、他のサイトもスケールアウトするということだけが気になる場合は、そうしないでください。また、重いピークの下で拡張したくない場合は、サイトをダウンさせてください。Azureを使用する必要はありません。

于 2012-11-23T12:51:13.540 に答える