Как заставить диспетчер трафика Azure работать в качестве отказоустойчивого для двух веб-приложений?
Я установил два веб-приложения в Azure. Я просто использую это для тестирования Traffic Manager, прежде чем делать что-либо в производстве, поэтому я создал два "поддельных" приложения, чтобы попробовать его.
Я добавил Диспетчер трафика на портал по следующему URL:
http://mbfakesite.trafficmanager.net/
Я указал конечную точку 1 в качестве первого веб-приложения и конечную точку 2 в качестве второго, и я использую метод Приоритет.
Когда я останавливаю первое веб-приложение в Azure и захожу по URL-адресу TrafficManager, я получаю страницу с ошибкой 403. Что я хочу, чтобы это по умолчанию для второй конечной точки.
Конечная цель - запустить приложение MVC на сервере, отличном от рабочего сайта. А когда производственные серверы не работают (резервные копии и все), по умолчанию следует использовать это "отказоустойчивое" приложение, работающее на отдельном сервере, как в случае сценария наихудшего случая.
Если это не так, оба веб-приложения для тестирования размещаются на azurewebsites.net и в Traffic Manager, одно из них отображается как конечная точка Azure (первая), а другое - как внешняя конечная точка.
Я также попытался добавить в web.config, как кто-то предложил в другом сообщении, которое я нашел, но это ничего не изменило.
У кого-нибудь есть идеи или альтернативы Traffic Manager, которые мы могли бы использовать для этого?
Спасибо!
3 ответа
Хотя временная шкала, приведенная в другом ответе, в основном правильная, она не учитывает некоторые фундаментальные аспекты работы Traffic Manager.
Поскольку Traffic Manager только изменяет правила DNS, он работает только в том случае, если ваш браузер действительно проверяет это правило. К сожалению, современные веб-коммуникации имеют множество ярлыков, и один из них известен как "keep-alive".
Прежде чем идти дальше, я нашел решение для ваших симптомов, чтобы
- Удаленный в ваш узел
- Откройте диспетчер IIS
- Откройте "Заголовки ответа HTTP" в разделе "IIS"
- Нажмите "Установить общие заголовки" справа и снимите флажок с опцией keep-alive
Будьте предупреждены, это приведет к большему количеству обращений к Диспетчеру трафика. По сути, для этого требуется, чтобы браузер проверил правило DNS и открыл новое соединение для каждого соединения. Это необходимо, потому что эти открытые соединения могут выдержать ПРОШЛОМ время TTL и любое разрушение кеша DNS. Действительно, можно расширить эти открытые соединения, нажав "Обновить". Точная противоположность того, что вы хотите.
Я знаю, что этот ответ, вероятно, слишком поздно для вашего использования, поэтому я прошу прощения. Тем не менее, я думаю, что это заслуживает ответа.
Согласно официальной документации, он должен направляться к ближайшему (с точки зрения времени ожидания) доступному DC.
https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-routing-methods
Можете ли вы попробовать тестовый отказоустойчивый, описанный здесь: https://docs.microsoft.com/en-us/azure/traffic-manager/traffic-manager-testing-settings
Когда я останавливаю первое веб-приложение в Azure и захожу по URL-адресу TrafficManager, я получаю страницу с ошибкой 403. Что я хочу, чтобы это по умолчанию для второй конечной точки.
Диспетчер трафика Azure работает в качестве балансировщика нагрузки на уровне DNS. Диспетчер трафика Azure включает в себя встроенный мониторинг конечных точек и автоматическое аварийное переключение на конечные точки, периодически проверяет работоспособность каждой конечной точки, включая нездоровые конечные точки. Эти эффекты кэширования DNS являются общими для всех систем маршрутизации трафика на основе DNS, поэтому балансировщик нагрузки уровня DNS не может сразу переключиться на другой доступный сайт.
Также настройки монитора диспетчера трафика будут влиять на время переключения на другой доступный сайт.
Следующая временная шкала представляет собой подробное описание процесса мониторинга диспетчера трафика.
Более подробную информацию о мониторе Azure Traffic Manager можно найти по этой ссылке.