Является ли циклический DNS возможным решением для обеспечения высокой доступности?

Является ли циклический DNS возможным решением для обеспечения высокой доступности?

Допустим, у меня есть 2 IP для данного домена (циклический DNS).
Если один из IP перестает отвечать, будут ли клиенты пытаться подключиться к другому IP? или им просто не удастся установить связь с доменом?

решение1

DNS round robin не является хорошей заменой балансировщику нагрузки. DNS-сервер продолжит выдавать IP-адрес неисправного узла, поэтому некоторые пользователи получат доступ к вашему сервису, а некоторые — нет.

Когда клиент делает DNS-запрос, DNS-сервер возвращаетвсеIP-адресов, связанных с этим именем. Волшебство совершается DNS-сервером, который меняет порядок этого списка для каждого запроса. Однако приложение должно реализовать возможность «прохода» по списку, пока не найдет работающий IP. И некоторые приложения этого не делают.

Windows Telnet, как ни странно, является одним из таких приложений, которое достаточно умно, чтобы пройти по связанному списку возвращенных IP-адресов. Вы можете увидеть это поведение сами, если попытаетесь, например, подключиться к google.com через telnet. Вы заметите, что это займетдлинныйвремя окончательно потерпеть неудачу. Это потому, что у google.com много IP-адресов, и клиент telnet пробовал каждый из них.

решение2

Использование балансировщика нагрузки все равно оставит единую точку отказа. Если ваш балансировщик нагрузки выйдет из строя, ваш сайт упадет.

Вопреки вышеприведенному ответу, большинство HTTP-клиентов ужеДЕЛАТЬподдержка попытки каждого IP-адреса, возвращенного из запроса DNS, пока один из них не вернет действительный ответ. Пожалуйста, смотрите здесь:

http://blog.engelke.com/2011/06/07/web-resilience-with-round-robin-dns/

Судя по всему, автор протестировал следующие браузеры и обнаружил, что они работают нормально.

Chrome 11 на Windows 7
Firefox 4.0 на Windows 7
Internet Explorer 8 на Windows 7
Opera 11 на Windows 7
Safari 5 на Windows 7
Internet Explorer 7 на Windows XP (после заметной задержки)
Firefox 4.0 на Windows XP (после заметной задержки)
Собственный браузер Android на Android 2.3.3
Собственный браузер iPhone на iOS 4.3.3

Использование round Robin не реализует все функции сервера балансировки нагрузки, такие как возможность отслеживать время отклика от обоих серверов и направлять больше трафика на один из них, если другой не отвечает так быстро, как должен. Для обеспечения устойчивости я бы сказал, что Round Robin DNS, вероятно, является лучшим решением, поскольку больше нет единой точки отказа.

решение3

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

Существуют приемы обновления DNS в случае сбоя; если это произойдет, циклический DNS с достаточно короткими значениями TTL может стать псевдобалансировщиком нагрузки.

Связанный контент