Несколько записей DNS A, ссылающихся на один и тот же хост

Если я создаю несколько записей DNS A для одних и тех же хостов, например:

my-domain.com   A   1.2.3.4   3600s
my-domain.com   A   4.5.6.7   3600s
my-domain.com   A   7.8.9.0   3600s
  1. Действительно ли запросы действительно объединяют три сервера? Это даже?

  2. Давайте предположим, что клиент запрашивает my-domain.com и возвращается 1.2.3.4, Это затем кэшируется в течение часа, поэтому каждый запрос клиента будет использовать 1.2.3.4или каждый запрос будет захватывать случайный хост?

  3. Что будет если 4.5.6.7 выходит из строя, DNS автоматически удаляет его, или запросы по-прежнему направляются к нему в циклическом режиме?

2 ответа

Решение

Да, вы можете реализовать некоторое распределение нагрузки, используя несколько записей DNS для одной и той же службы. Однако это не лучший способ реализовать распределение нагрузки, особенно в том случае, если все ваши хосты находятся в одном месте. Гораздо более эффективным подходом будет использование выделенной машины в качестве балансировщика нагрузки. Эта машина получает весь трафик и перенаправляет его на один из реальных серверов на основе нескольких критериев, таких как:

  1. Параллельные соединения.
  2. Загрузка сервера.
  3. IP источника пользователя.
  4. По-круговой.
  5. Взвешенный круговой и т.д.

Другим важным моментом в балансировщиках нагрузки, таких как haproxy, является возможность проверки неисправного узла и исключения его из списка серверов, что недоступно при использовании метода на основе DNS.

Кроме того, DNS-кэширование усложняет и усложняет управление. Кэширование DNS может происходить в любом узле от вашего клиента до любого промежуточного DNS-сервера, пока не достигнет авторитетного DNS-сервера.

  1. Да, он будет круговой между тремя. Для DNS-сервера Windows вам необходимо включить Round Robin на вашем DNS-сервере. Когда он включен, он будет отвечать всеми тремя записями в порядке чередования:

    • 1-й клиент - 1.2.3.4, 4.5.6.7, 7.8.9.0

    • 2-й клиент - 4.5.6.7, 7.8.9.0, 1.2.3.4

    • 3-й клиент - 7.8.9.0, 1.2.3.4, 4.5.6.7

  2. Это зависит от реализации на стороне клиента. Некоторые клиенты будут переключаться между записями для каждого соединения, а некоторые будут стремиться использовать первый полученный адрес. Нагрузка все еще сбалансирована, так как второй клиент выше будет иметь другой упорядоченный список, чем первый.

  3. Если 4.5.6.7 должны были пойти вниз, он не будет автоматически удален. Клиенты все равно будут пытаться подключиться к этому IP. Это недостаток Round Robin DNS.

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