Я пишу небольшую программу вычислений с множеством операций чтения в блочных файлах... Должен ли я использовать роль рабочего или веб-роль....
Использовать ли роль исполнителя или роль в Интернете: Windows Azure
Ответ 1
Единственное различие между роли веб-роли и рабочей ролью заключается в том, что в роли веб-сайта запускается IIS (фактически размещенное веб-ядро) и указывается в каталоге данных приложения. Вы все еще можете поместить код в WebRole.cs, который будет делать то же самое, что и в вашей рабочей роли, поэтому на самом деле решение должно быть "Вы хотите IIS"? Если это так, используйте веб-роль. Если нет, используйте роль рабочего.
Ответ 2
Определенно роль рабочего, роль веб-сайта, как следует из названия, предназначена для ответа на веб-запросы, и в зависимости от параметров IIS веб-запросы, вероятно, будут иметь таймаут через 1 минуту или около того.
Ответ 3
Трудно дать окончательный ответ без дополнительной информации, но на первый взгляд я бы сказал, что роль рабочего. Это похоже на внутреннюю службу Windows, а не на то, что отвечает на запросы HTTP по мере их поступления.
Ответ 4
Относительно вашего вопроса о том, как разместить роль рабочего: это то же самое, что и хостинг веб-роли - просто добавьте новую роль в свой проект и выберите "Роль рабочего" вместо "Веб-ролик". Роли - это не что иное, как "виртуальные машины". И когда вы выбираете количество "экземпляров", это хорошо, что соответствует количеству виртуальных машин. Что объясняет @smarx, просто говорит, что веб-роли (или веб-виртуальные машины) имеют IIS в вашем распоряжении, где нет рабочих ролей.
Чтобы узнать, что делает рабочая роль, существуют два относительно общих шаблона:
- создайте свой собственный веб-сервер (ваша роль может запускать программы при запуске, включая такие тонкие вещи, как веб-серверы). В этом случае рабочая роль будет возвращать материал вашему вызывающему абоненту точно так же, как что-то в веб-роли. Просто без помощи IIS.
- Общение задач с вашей рабочей ролью с очередью. В этом случае ваша рабочая роль читает сообщение из очереди (вы выбираете форматирование сообщения). Затем он действует на него. Затем он идет и читает следующее сообщение. Пример. Вы создаете сайт для обмена фотографиями. Вы размещаете веб-сайт на веб-роли, и у вас есть возможность загрузить фотографию. Затем вы храните его в базе данных (или таблице) и помещаете сообщение в очередь, например "Создание эскизов для изображения № 123". Роль рабочего читает это сообщение, извлекает изображение из базы данных 123 и создает несколько эскизов, которые он загружает обратно в базу данных. Этот процесс может занять очень много времени, но ваш посетитель сайта даже не замечает.
Если вы хотите увидеть несколько отличных видеороликов, ознакомьтесь с Cloud Cover Show. Эпизод 3 конкретно рассказывает о создании рабочих ролей, а @smarx показывает, как размещать Mongoose html-сервер из рабочей роли.
Ответ 5
Я сделаю это простым
-
веб-роль предназначена для размещения веб-приложения на базе IIS.
-
рабочая роль предназначена для любого другого приложения.
Единственное реальное различие между ними заключается в том, что IIS установлен в роли Web, и ваше приложение будет развернуто в нем.