Можно ли добиться 100% доступности веб-приложения, развернутого в Службе приложений Azure? У нас есть веб-приложение ASP.NET MVC, развернутое в службе приложений Azure. У нас есть это приложение, развернутое в 3 регионах Служб приложений Azure, а уровень цен - Премиум - P3. В каждом регионе включено автоматическое масштабирование для масштабирования плана службы приложений от 2 до 10 экземпляров в зависимости от производительности (% ЦП). Диспетчер трафика используется для маршрутизации трафика между тремя регионами (маршрутизация на основе производительности). Мониторинг конечных точек диспетчера трафика имеет следующие конфигурации:
Однако, когда мы протестировали систему, остановив службу приложений в одном регионе при высокой нагрузке (мы остановили центральную часть США, поскольку ожидается, что большая часть нашего трафика попадет в эту службу приложений), мы заметили, что некоторые запросы / транзакции завершились ошибкой / ошибками. до того, как трафик был перенаправлен в другие регионы. Это не 100% доступность. Как мы можем гарантировать 100% доступность системы?
Обратите внимание: я не ищу подробности соглашения об уровне обслуживания Azure, которое гарантирует 100% доступность, и я знаю, что такого не существует. Я ищу шаблон дизайна или модификации нашего текущего дизайна, которые я объяснил в своем вопросе, которые помогут нам достичь этого.
Не существует такой вещи, как 100% доступность, потому что вы всегда полагаетесь на возможности диспетчера трафика / балансировщика нагрузки по обнаружению проблем и перенаправлению трафика на работоспособную конечную точку. У конечных пользователей всегда будет небольшой простой во время процесса, независимо от того, как вы его построите. В частности, для диспетчера трафика Azure, время, необходимое для обнаружения сбоя, и время, необходимое для переключения настроек DNS.
Ваши текущие настройки кажутся достаточно агрессивными. Я не знаю, как его улучшить, и, скорее всего, в этом нет необходимости.