Браузеры повторно пробуют DNS при сбое загрузки страницы? - PullRequest
2 голосов
/ 30 апреля 2011

После провала Amazon и прочтения многих статей о том, что на практике означает избыточность / распределенность, DNS кажется слабым местом.Например, если DNS установлен для циклического перебора между центрами обработки данных, и один из центров обработки данных выходит из строя, кажется, что многие браузеры кэшировали этот DNS и продолжали использовать сбойный узел.-to-live (TTL), но, конечно, это может быть установлено на длительное время.

Поэтому мой вопрос: если браузер не получает ответ от IP, достаточно ли он умен, чтобы обновитьDNS в надежде быть направленным на другой узел?

1 Ответ

1 голос
/ 30 апреля 2011

Round-robin DNS для каждого браузера. Вот как это делает mozilla :

Одно имя хоста может преобразовываться в несколько IP-адресов, каждый из которых хранится в хост-объект вернулся после успешного поиска. Netlib сохраняет порядок, в котором днс Сервер возвращает IP-адреса. Если в любой момент во время соединения, IP-адрес в настоящее время не удается использовать имя хоста, netlib будет использовать следующий IP-адрес, сохраненный в хост-объект. Если это не удается, запрашивается следующий и так далее. Эта прогрессия через Доступный IP-адрес достигается с помощью функции NET_FinishConnect (). Перед загрузкой URL считается завершенным, потому что это соединение нарушено, его хост-объект определить, следует ли использовать другой IP-адрес для данного хоста. Однажды ip адрес не работает, он удален, удален из хоста в кеше. Если все IP-адреса в сбой хоста, netlib пропустит ошибку «сервер не отвечает» для резервного копирования вызова цепь.

Что касается сбоя Amazon, то во время простоя Amazon НИЧЕГО не случилось. DNS-серверы правильно сообщали IP-адреса, и браузеры использовали эти IP-адреса. Облажание было на стороне Амазонки. Они перенаправили трафик в перегруженный кластер. DNS был мертвым, но сами кластеры не могли справиться с огромной нагрузкой трафика.

Амазонка говорит, что лучше всего сама :

EC2 предоставляет два очень важных строительных блока доступности: регионы и доступность Зоны. По своему замыслу Регионы - это совершенно отдельные развертывания нашей инфраструктуры. Регионы полностью изолированы друг от друга и обеспечивают наивысшую степень независимость. Многие пользователи используют несколько регионов EC2 для достижения чрезвычайно высоких уровней Отказоустойчивость. Однако, если вы хотите переместить данные между регионами, вам нужно сделать это через ваши заявки, поскольку мы не копируем данные между регионами от имени наших пользователей.

Другими словами, «помните всю ту высокую доступность, которую мы сказали вам, что у нас есть? Да, это действительно до вас». Из-за их собственной путаницы они вынули как первичные, так и вторичные узлы в кластере, и не было ничего, к чему можно было бы перейти. И затем, когда они вернули все это назад, произошел внезапный «шторм перезеркаливания», когда узлы пытались синхронизироваться одновременно, вызывая больше отказа в обслуживании. DNS не имеет к этому никакого отношения.

...