0

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

ответ

0

Облачные службы имеют производственные и промежуточные слоты, поэтому вы можете менять их, когда захотите. Непрерывный D или I можно реализовать с помощью Visual Studio Team Services, и я бы рекомендовал его - мы это используем. Как вы говорите, он должен решить, когда вы должны переключать производственные и промежуточные слоты (например, мы это делали, когда загрузка пользователя была очень низкой, в нашем случае это была ночь, но в вашем случае это может быть иначе). Переключение слотов происходит очень быстро, и (насколько я знаю) процесс изменения настроек за балансирами нагрузки не является физическим развертыванием.

https://azure.microsoft.com/en-us/documentation/articles/cloud-services-continuous-delivery-use-vso/#step6

UPD - я помню, что тестирование, и мой опыт в том, что входящие соединения были стабильными (например, RDP) и исходящие не являются. Поэтому я не могу гарантировать, что существующие соединения будут закончены изящно, но из моего опыта проблем не было.

+0

Для таких сервисов, как youtube, где пользователи постоянно просматривают и загружают контент, мне интересно, как Google справляется с этой ситуацией. Есть ли способ сохранить сеансы пользователей и перейти к новой сборке, не прерывая сеанс пользователя? –

+0

Это не так сложно, как вы думаете. Youtube, netflix, hbo, hulu, все они отправляют вам небольшие фрагменты видео, как правило, 2-4 секунды в последовательности, чтобы они могли отрегулировать качество видео в ответ на изменение полосы пропускания. Даже если вы смотрите 2-часовой фильм, вы действительно просто смотрите на серию очень коротких видеороликов, которые легко уравновешивают балансировку нагрузки. –

+0

Спасибо Педро! Это очень хорошая нота. Я бы добавил, что ваш проект не должен состоять из одного экземпляра, который «вниз» при обновлении. Как правило, у вас есть несколько экземпляров, обслуживающих запросы, и вы обновляете их один раз на один - так работают обновления в Azure, когда у вас есть несколько экземпляров. –