2012-05-20 6 views
3

Я хочу роль веб-сайта для своего сайта, но я также хочу, чтобы этот сайт общался с другим автономным приложением, которое я разработал.Windows Azure - могу ли я запустить роль веб-роли и рабочего на той же виртуальной машине?

Я вижу, нет необходимости иметь две виртуальные машины. Могу ли я иметь роль рабочего на той же виртуальной машине, что и моя роль wrb?

Что нужно, чтобы остановить меня RDP'ing при загрузке моего приложения?

Эта роль, в частности, требует соединений с высоким номером порта - нужно ли мне что-либо менять, чтобы это разрешить? (Aparf от брандмауэра Windows на виртуальной машине)

(До сих пор Azure сделала мою жизнь намного сложнее, чем justing платить за размещение сервера)

ответ

4

Я укажу вам другие SO ответы я дал на это, но ... роль в Интернете и роль рабочего - это только серверы Windows 2008 с запуском IIS и без него. Вы можете запускать все в веб-роли, если хотите, и просто масштабировать количество экземпляров для обработки нагрузки. Или ... создайте роль рабочего для некоторых задач, которые вы не хотите конкурировать с вашей ролью в Интернете. CPU/Memory/Network.

Вы можете прослушивать любой порт через tcp, http или https. У вас может быть до 25 таких портов открытым и прямой трафик на любую нужную вам роль (и он будет сбалансирован по нагрузке во всех экземплярах этой роли).

Вы не хотите использовать RDP и устанавливать программное обеспечение. При перезагрузке виртуальные машины не будут сохранять такие изменения. Это классная часть Windows Azure: внутри webrole.cs или workerrole.cs вы можете настроить все, что захотите, а затем в Run() просто спящий или запуск фоновых задач (или что-то еще). Если во время загрузки вам нужно что-то установленное (возможно, MSI или дополнение к реестру), требующее повышенных привилегий), вы можете использовать задачу запуска, чтобы делать все, что захотите. Эти изменения будут повторно применены во время перезагрузки. Хотя ... вы можете закоротить это и пропустить установку, если вы обнаружите, что материал уже установлен (то есть иногда ваши вещи будут сохранены между перезагрузками - вы не можете рассчитывать на это, но вы, безусловно, можете бросить себе хлеб знаю, что были установлены ...).

Более SO ответы для вас, что я отвечал:

+0

только для того, чтобы быть ясным, вы говорите: «Я могу прослушивать любой порт через tcp, http или https», могу ли я слушать свои собственные протоколы уровня TCP-протокола? (Вы говорите TCP, поэтому я так думаю, но вы также говорите HTTP, который предполагает, что он может быть ограничен специальными хорошо известными протоколами уровня приложений). – markmnl

+0

До тех пор, пока это tcp, http или https, вы можете запустить любой прослушиватель, который вы хотите, будь то .net ServiceHost, веб-сервер Java, такой как Tomcat или Jetty, или что-то еще, что вы имели в виду. UDP не поддерживается. –

+0

, если он поддерживает tcp, тогда он должен поддерживать http и https - они tcp - снова я неясно, что вы приводите примеры ServiceHost и технологии веб-сервера Java - это мой собственный протокол TCP, который не имеет ничего общего с существующими веб-протоколами - my использует TCP berkely сокеты - это сработает? – markmnl

1

Да, вы можете преобразовать Worker ролей в службах Windows, а затем развернуть их вашей роли в Интернете.

WebRole также может определять RoleEntryPoint, поэтому вы используете его для установки и выключения Windows Services при запуске. Остальные, такие как открытие портов через брандмауэр, внесение изменений в IIS и т. Д., Лучше писать в виде сценария командной строки или .NET-кода и выполняться при запуске экземпляра. Таким образом, вы можете масштабировать свою услугу, увеличивая количество экземпляров легко.

 Смежные вопросы

  • Нет связанных вопросов^_^