Сколько ролей вы можете иметь на экземпляр Azure - PullRequest
6 голосов
/ 27 августа 2010

Я знаю, что у вас может быть только 1 веб-роль на экземпляр, но относится ли это и к фоновым ролям?Более подробно, может ли 1 экземпляр выполнять фоновую роль и веб-роль?

Ответы [ 3 ]

15 голосов
/ 27 августа 2010

Я думаю, что используемая в вашем вопросе терминология сбивает с толку других респондентов.

В Windows Azure compute у вас есть облачная служба.Облачная служба может рассматриваться как ваша общая архитектура или, по крайней мере, внешний интерфейс, средний уровень и т. Д. (Любой уровень, где есть вычисления, а не хранилище).Например, ваше приложение может иметь интерфейс представления (веб-приложение ASP.Net MVC) и средний уровень (уровень обслуживания WCF поверх базового http).Мы сравниваем каждый из этих уровней с «ролями».Таким образом, в моем примере выше, у меня будет 2 веб-роли в моем облачном сервисе.У меня также может быть некоторая внутренняя обработка, которая выполняет какую-то пакетную работу, это тоже будет «роль».Роли, которые реагируют на взаимодействие с пользователем, такие как веб-сайты, слои служб и т. Д., Размещаются как «веб-роли», в то время как эти внутренние службы являются «рабочими ролями».

Тогда у нас есть экземпляры.Экземпляр - это количество виртуальных машин, которые предоставляются для обеспечения функциональности данной роли.Например, мне может потребоваться, чтобы на моем уровне представления было 5 экземпляров, потому что это требует большой нагрузки.Итак, моя 1 веб-роль имеет 5 экземпляров.Точно так же моему среднему уровню, служебному слою, может потребоваться только 3 экземпляра (из-за кэширования на уровне представления), и поэтому моя 1 веб-роль имеет 3 экземпляра.Моему внутреннему сервису может понадобиться только 1 экземпляр, поскольку его работа может быть выполнена в любое время, но если объем резервного журнала становится слишком большим, он может масштабироваться до 10 экземпляров, чтобы выполнить работу, а затем снова уменьшиться до 1 экземпляра.

Итак, ключевым моментом здесь является то, что вы можете иметь 1 или более экземпляров на одну роль.Из-за этого отношения имеет смысл, что вы можете иметь только одну роль на экземпляр (поскольку экземпляр «создается» из одного шаблона роли).

То, что Ринат пытался сказать выше, было то, что вы можете обманывать с помощьюрабочей роли и фактически размещают конечную точку http в WCF, таким образом, получая поведение типа веб-роли, однако при этом вы не получаете балансировку нагрузки веб-роли.Аналогично, веб-роль может иметь поведение стиля рабочей роли, переопределяя метод OnStart в WebRole.cs.Однако я бы все же утверждал, что в обоих случаях это только одна роль, и у вас может быть несколько экземпляров этой роли.

Бьорн указывал, что по умолчанию вы ограничены 20 экземплярами на роль, однако вы можете получить больше(поэтому он не заслуживает ИМХО -1).

Надеюсь, это прояснит ситуацию.

11 голосов
/ 27 августа 2010

Вы можете иметь только одну роль на экземпляр .

Однако вы можете разместить конечную точку Http в своей рабочей роли , фактически превратив ее в роль Web + Worker.

Рекомендации и образцы:

4 голосов
/ 27 августа 2010

По умолчанию одна веб-роль может иметь 20 экземпляров.Если вам нужно больше, вы можете связаться со службой поддержки Azure, и они его включат!

...