Лазурная разминка вебапи - PullRequest
       23

Лазурная разминка вебапи

0 голосов
/ 09 октября 2019

При чтении документов: https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots#swap-operation-steps, шаг 4, это указывается:

Если автопереключение включено с пользовательским прогревом, инициируйте запуск приложения, отправив HTTP-запрос накорень приложения ("/") на каждом экземпляре исходного слота.

Если applicationInitialization не указано, инициируйте HTTP-запрос к корню приложения исходного слота на каждом экземпляре.

Если экземпляр возвращает какой-либо HTTP-ответ, он считается прогретым.

Означает ли это, что 1) необходимо включить пользовательский прогрев, чтобы своп вызывал root (или любые другие URL-адреса)? ) или 2) если пользовательский прогон не включен, он вызывает root? Независимо от 1) или 2): если ничего не указано, все возвращенные коды состояния сообщают процессу обмена, что слот прогрелся?

ОБНОВЛЕНИЕ Способ чтения документов (https://docs.microsoft.com/en-us/azure/app-service/deploy-staging-slots#swap-operation-steps):

... App Service does the following to ensure that the target slot doesn't experience downtime:

1. ...
2. ...
3. ...
4. If auto swap is enabled with custom warm-up, **[AppService will]** trigger Application Initiation by making an HTTP request to the application root ("/") on each instance of the source slot.

If applicationInitialization isn't specified, **[AppService will]** trigger an HTTP request to the application root of the source slot on each instance.

If an instance returns any HTTP response, it's considered to be warmed up.
5. ...

Но похоже, что я читаю это неправильно?

1 Ответ

2 голосов
/ 09 октября 2019

Позвольте мне ответить на ваши вопросы один за другим:

1: необходимо включить пользовательский прогрев, чтобы своп вызывал root (или любые другие URL)

Да, если включена автоматическая замена, и вы хотите, чтобы промежуточный слот прогрелся до начала процесса замены. В противном случае он будет прогреваться при первом запросе и будет задерживать ответ до завершения прогрева.


2: или, если пользовательский прогрев не включен,вызывает root?

Он не будет вызывать root, если не указан в system.webServer > ApplicationInitialization в web.config файле.


3: независимо от 1или 2: если ничего не указано, все возвращенные коды состояния сообщают процессу подкачки, что слот прогрелся?

Он просто поменяет слоты, если ничего не указано, без учета разогрева вообще. Только когда блок applicationInitialization доступен в файле web.config, он будет ждать, пока модуль ApplicationInitialization вернет состояние завершения, а затем продолжит обмен.


Даже после того, как прогрев в промежуточном слоте завершен, при замене рабочего процесса слот-процесс все равно может перезапуститься, учитывая различия в конфигурации при запуске.

Я наблюдал, как процесс подкачки вызывает нулевое время простоя, когда промежуточная и производственная конфигурации точно совпадают.

Есть несколько других случаев разогрева и перезапуска приложения во время процесса подкачки,пожалуйста, обратитесь к этой статье: https://ruslany.net/2017/11/most-common-deployment-slot-swap-failures-and-how-to-fix-them/

...