Как балансировки нагрузки Azure увеличили план службы приложений?

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

Также как я могу узнать, какой запрос обслуживается каким экземпляром?




Ответы (1)


Балансировщик нагрузки создается автоматически, и вы его не видите.

В основном он отправляет запросы экземплярам случайным образом, хотя его можно сделать «липким» с помощью ARR Affinity. Вы можете найти этот параметр в настройках приложения службы приложений:

Переключатель соответствия ARR на портале

Если он включен, балансировщик нагрузки будет прикреплять файл cookie к ответам, если он еще не установлен. Это делает так, чтобы будущие запросы попадали в один и тот же экземпляр. Хотя, конечно, если экземпляра больше нет (например, из-за автоматического масштабирования), он снова перейдет к случайному экземпляру.

Переменная среды WEBSITE_INSTANCE_ID может сказать вам в серверной части, какой экземпляр обрабатывает запрос. Вы можете найти список доступных переменных здесь: https://github.com/projectkudu/kudu/wiki/Azure-runtime-environment

person juunas    schedule 04.04.2018
comment
@juunas, когда я открываю CMD / Powershell службы приложений, какой экземпляр используется? Также, когда я развертываю с помощью публикации Visual Studio, будет ли он развернут во всех масштабируемых экземплярах? - person Rushi Soni; 05.04.2018
comment
По первому вопросу понятия не имею: D Но да, вы будете развертывать во всех инстансах. - person juunas; 05.04.2018
comment
Можете попробовать echo %WEBSITE_INSTANCE_ID% в CMD :) - person juunas; 05.04.2018
comment
Я всегда могу использовать это, но мне было интересно, есть ли способ получить доступ ко всем экземплярам CMD / Powershell. - person Rushi Soni; 05.04.2018
comment
Хм .. не уверен. Возможно нет. Однако файловая система является общей для экземпляров. - person juunas; 05.04.2018
comment
Вы можете указать Kudu, к какому экземпляру вы хотите подключиться, переопределив файл cookie. Как упоминал юунас, вам никогда не нужно этого делать, поскольку файловая система является общей для всех экземпляров, смонтированных по сети (то есть d: \ home). Подробнее см. Ответ Дэвида - stackoverflow.com/a/34833769/4148708 - person evilSnobu; 05.04.2018