Использовать ли роль рабочего или веб-роль: Windows Azure

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

10
задан veda 9 April 2010 в 18:34
поделиться

4 ответа

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

13
ответ дан 3 December 2019 в 17:57
поделиться

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

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

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

Если вы хотите посмотреть отличные видеоролики для начала работы, посмотрите Шоу облачного покрова . В эпизоде ​​3 конкретно говорится о создании рабочих ролей, а в @smarx показано, как разместить html-сервер Mongoose из рабочей роли.

2
ответ дан 3 December 2019 в 17:57
поделиться

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

5
ответ дан 3 December 2019 в 17:57
поделиться

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

2
ответ дан 3 December 2019 в 17:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: