Реализуются ли веб-приложения в плане обслуживания приложений Azure как виртуальные веб-серверы в IIS? Используются ли веб-сады?
Если планы службы приложений Azure представляют собой виртуальные машины, выделенные для веб-приложений, API, логики и мобильных приложений, определенных в них, означает ли это, что веб-приложение в плане обслуживания приложений является экземпляром виртуального веб-сервера в IIS на этой виртуальной машине??
Если предположить, что это так, и каждый виртуальный веб-сайт получает свой собственный пул приложений, существует ли стратегия масштабирования Azure или сценарий, в котором будет выполняться несколько рабочих процессов в этом пуле приложений, создавая веб-сад? Мое понимание масштабирования веб-приложения заключается в том, что оно приводит к выделению дополнительных виртуальных машин, а не дополнительных рабочих процессов.
2 ответа
Я не уверен, что такое виртуальный сервер, но каждое приложение работает в своем собственном выделенном пуле приложений и процессе w3wp.exe. Для каждого пула приложений существует только один процесс w3wp.exe, поэтому нет веб-садов.
Есть ли конкретная причина, по которой вы думаете, что они нужны для масштабирования ваших приложений? В большинстве случаев использование веб-садов является неправильным способом масштабирования, так как добавление большего количества процессов может привести к ненужным накладным расходам (среди других проблем - вы можете найти некоторые полезные ресурсы в Интернете). Вы почти всегда хотите предпочитать потоки процессам для улучшения параллелизма. Если у вас заканчиваются физические ресурсы (процессор, память и т. Д.), Правильный способ масштабирования - добавить дополнительные виртуальные машины.
Стратегия масштабирования будет зависеть от уровня цен, который вы выбрали.
В основном каждый Сервисный план будет содержать набор веб-приложений, API, логики, мобильных приложений. Они сформируют веб-сад на выбранном вами сервере плана обслуживания.
Если вы изначально выберете один базовый план обслуживания B1, вы получите одну виртуальную машину, на которой будут работать все ваши приложения. По мере увеличения нагрузки на этот сервер вы можете масштабировать его до более крупных серверов, но он все равно будет работать на одном сервере.
Если затем вы решите создать второй экземпляр (и 3-й, 4-й, 5-й...), то этот второй сервер будет репликой первого сервера с балансировкой нагрузки между ними. (3,4...)
Хотя я не видел документации для этого, я бы предположил, что каждое приложение Web, API и т. Д. Запускается в своем собственном пуле приложений / рабочем процессе, а масштабирование - это просто дублированные экземпляры.