6

インスタンスごとに 1 つの Web ロールしか持てないことはわかっていますが、これはバックグラウンド ロールにも適用されますか? さらに詳しくは、1 つのインスタンスでバックグラウンド ロールと Web ロールを実行できますか?

4

3 に答える 3

15

あなたの質問で使用されている用語は、他の回答者を混乱させていると思います。

Windows Azureコンピューティングには、クラウドサービスがあります。クラウドサービスは、アーキテクチャ全体、または少なくともフロントエンド、中間層など(ストレージではなくコンピューティングが存在する任意の層)と考えることができます。たとえば、アプリケーションにプレゼンテーションフロントエンド(ASP.Net MVC Webアプリケーション)と中間層(基本http上のWCFサービスレイヤー)がある場合があります。これらの各層を「役割」に例えます。したがって、上記の例では、クラウドサービスに2つのWebロールがあります。また、ある種のバッチ作業を行うバックエンド処理がある場合もあります。これも「ロール」になります。Webサイト、サービスレイヤーなどのユーザーの操作に応答するロールは「Webロール」としてホストされ、これらのバックエンドサービスは「ワーカーロール」です。

次に、インスタンスがあります。インスタンスは、特定の役割の機能を提供するためにプロビジョニングされる仮想マシンの数です。たとえば、多くの負荷がかかるため、プレゼンテーション層に5つのインスタンスが必要になる場合があります。したがって、私の1つのWebロールには5つのインスタンスがあります。同様に、私の中間層であるサービス層は、(プレゼンテーション層のキャッシュのために)3つのインスタンスしか必要としない可能性があるため、1つのWebロールには3つのインスタンスがあります。私のバックエンドサービスは、いつでもジョブを実行できるため、1つのインスタンスしか必要としない場合がありますが、バックログが大きくなりすぎると、作業を完了するために最大10インスタンスにスケールアップしてから、もう一度1インスタンスにスケールダウンする可能性があります。

したがって、ここで重要なのは、役割ごとに1つ以上のインスタンスを持つことができるということです。この関係のため、インスタンスごとに1つのロールしか持てないことは理にかなっています(インスタンスは単一のロールテンプレートから「インスタンス化」されるため)。

Rinatが上記で言おうとしていたのは、ワーカーロールを使用して不正行為を行い、実際にWCFでhttpエンドポイントをホストできるため、Webロールタイプの動作が得られるということでした。ただし、これを行うと、Webロールの負荷分散が得られません。 。同様に、Webロールは、WebRole.csのOnStartメソッドをオーバーライドすることにより、ワーカーロールスタイルの動作をとることができます。ただし、これはどちらの場合も1つの役割にすぎず、その役割の複数のインスタンスを持つことができます。

ビョルンは、デフォルトではロールごとに20インスタンスに制限されていることを示していましたが、それ以上のインスタンスを取得できます(したがって、彼は-1 IMHOに値しません)。

これがそれをクリアすることを願っています。

于 2010-08-27T11:38:11.483 に答える
11

インスタンスごとに 1 つのロールのみを持つことができます。

ただし、worker ロールで Http エンドポイントをホストして、事実上それを Web+Worker ロールに変えることができます。

参照とサンプル:

于 2010-08-27T09:59:51.100 に答える
4

デフォルトでは、1 つの Web ロールは 20 個のインスタンスを持つことができます。さらに必要な場合は、Azure サービス デスクに連絡してください。

于 2010-08-27T09:09:34.610 に答える