DNS load balancing with multiple IPs on the same domain in GoDaddy

В поисках более дешевого решения, чем amazon CloudFront, я поместил две записи "A" с разными IP-адресами на разные серверы в одном и том же поддомене в NameSever, управляемом GoDaddy, чтобы добиться некоторого распределения нагрузки и механизма отработки отказа для статических файлов в моем Веб-сайт.

Проверьте это: nslookup static.hsbnoticias.com

НЕКОТОРЫЕ НАБЛЮДЕНИЯ

  • Я видел несколько статей о балансировке нагрузки циклического перебора DNS, но не смог понять, можно ли это сделать с какой-либо службой DNS или для нее требуется специальное программное обеспечение или служба.
  • Я не нашел поставщиков услуг для такой услуги
  • Тестирование nslookup на Facebook CDN возвращает несколько IP-адресов в разном порядке каждый раз, что, я думаю, является правильным способом балансировки нагрузки на DNS.
  • Мой NameServer каждый раз возвращает IP-адреса в том же порядке

ВОПРОСЫ

  1. Будет ли нагрузка распределена между двумя серверами?
  2. Существует ли стандартное поведение, которому должны следовать браузеры при разрешении доменов с несколькими IP-адресами на ресурсах страницы? (Тайм-аут, запасной вариант и т. Д.)
  3. Как случайный (или фиксированный) порядок записей, возвращаемых сервером имен, влияет на балансировку нагрузки?
  4. Будет ли браузер пробовать разные IP-адреса, когда тот, который они используют, станет медленным или только когда он вызовет тайм-аут?
  5. Будет ли IP Fail Over прозрачным для пользователя, или пользователю потребуется перезагрузить страницу?

1 ответ

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

  2. Не последовательно, нет. Все они будут откатываться на второй (или более) IP-адрес, но это зависит от "поставщика" и версии браузера и от того, будут ли возвращены какие-либо недоступные ICMP-сообщения, чтобы определить, сколько времени займет этот откат. Тайм-ауты TCP - без получения сообщений ICMP о недоступности - обычно измеряются в минутах, когда сервер не отвечает. Например, Chrome имеет длительное время ожидания подключения, часто более 3 минут, прежде чем переключаться при сбое. IE быстрее. Но пользователю это покажется неактивным или очень медленным. Caveat emptor... есть много движущихся частей вдоль путей разрешения DNS, и вы мало контролируете порядок, в котором несколько возвращенных IP-адресов, наконец, используются в данном браузере. Вот почему существует целая индустрия продуктов, которые поддерживают быструю балансировку нагрузки при отказоустойчивости, но они обычно используют DNS для ее достижения минимальным образом (например, поиск www.google.com в DNS... вы найдете вас вернуть только ОДИН IP-адрес.)

  3. "Балансировка" нагрузки на ваши серверы может значительно различаться между любыми двумя периодами времени.

  4. Только по таймауту подключения или явно недоступно.

  5. Он будет прозрачным, но сайт может быть очень медленным, если экземпляр IP, к которому они подключаются, завис. Если вы намеренно отключите его (например, для технического обслуживания), откат будет быстрее, если он не подключен к сети, а запросы ARP не будут обработаны (маршрутизатор сообщит о том, что узел ICMP недоступен).

Другие вопросы по тегам