Использовать ли рабочую роль или веб-роль: Windows Azure - PullRequest
10 голосов
/ 09 апреля 2010

Я пишу небольшую вычислительную программу с большим количеством операций чтения файлов BLOB-объектов ... Должен ли я пойти на рабочую роль или веб-роль ....

Ответы [ 5 ]

13 голосов
/ 10 апреля 2010

Единственное различие между веб-ролью и рабочей ролью состоит в том, что в веб-роли IIS (фактически размещенное веб-ядро) запускается и указывает на каталог данных вашего приложения. Вы по-прежнему можете помещать код в WebRole.cs, который делает то же самое, что и в рабочей роли, поэтому на самом деле должно быть принято решение «Хотите ли вы IIS?» Если это так, используйте веб-роль. Если нет, используйте рабочую роль.

5 голосов
/ 10 апреля 2010

Определенно рабочая роль, веб-роль, как следует из названия, предназначена для ответа на веб-запросы, и, в зависимости от настроек IIS, веб-запросы, скорее всего, прекратят работу через 1 минуту или около того.

2 голосов
/ 10 апреля 2010

Относительно вашего вопроса о том, как разместить рабочую роль: это тот же процесс, что и размещение веб-роли - просто добавьте новую роль в свой проект и выберите «Рабочая роль» вместо веб-роли. Роли - это не что иное, как «виртуальные машины». И когда вы выбираете количество «экземпляров», это равно количеству запущенных виртуальных машин. То, что объяснял @smarx, просто говорит о том, что у веб-ролей (или веб-виртуальных машин) есть IIS, а у рабочих - нет.

Чтобы увидеть, что делает рабочая роль, есть два относительно распространенных шаблона:

  • установите свой собственный веб-сервер (ваша роль может запускать программы при запуске, включая такие замечательные вещи, как веб-серверы). В этом случае рабочая роль будет возвращать материал вызывающей стороне точно так же, как в веб-роли. Просто без помощи IIS.
  • Сообщите задачи своей рабочей роли с помощью очереди. В этом случае ваша рабочая роль читает некоторые сообщения из очереди (вы выбираете форматирование сообщения). Затем он действует на него. Затем он идет и читает следующее сообщение. Пример: вы создаете сайт для обмена фотографиями. Вы помещаете веб-сайт на веб-роль, и у вас есть возможность для пользователя загрузить фотографию. Затем вы сохраняете его в базе данных (или в таблице) и помещаете в очередь сообщение типа «Создать миниатюры для рисунка № 123». Рабочая роль читает это сообщение, выбирает изображение № 123 из базы данных и создает несколько миниатюр, которые отправляет обратно в базу данных. Этот процесс может занять очень много времени, но посетитель вашего сайта даже не заметит.

Если вы хотите посмотреть отличные видео для начинающих, посмотрите Cloud Cover Show . Эпизод 3 специально посвящен созданию рабочих ролей, а @smarx показывает, как разместить сервер Mongoose html из рабочей роли.

2 голосов
/ 09 апреля 2010

Трудно дать однозначный ответ без дополнительной информации, но на первый взгляд я бы сказал, что это рабочая роль. Это похоже на внутреннюю службу Windows, а не на то, что отвечает на HTTP-запросы по мере их поступления.

0 голосов
/ 04 апреля 2012

Я сделаю это просто

  • веб-роль предназначена для размещения веб-приложения на основе IIS.

  • рабочая роль предназначена для любого другого приложения.

Единственное реальное различие между ними состоит в том, что IIS установлен на веб-роли и ваше приложение будет развернуто в нем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...