Если у сайта есть 2 балансировщика нагрузки по причине избыточности, на какой из них должен указывать DNS?

Если я просто укажу на обе записи в своей записи DNS, не будет ли проблем с 50% трафика?

3 ответа

Решение

Существуют простые способы предоставления отказоустойчивых услуг с использованием одного IP-адреса, который не требует больших затрат.

Например, вы можете просто настроить общедоступный IP-адрес для петлевого интерфейса на каждом из прокси-серверов и затем объявить его через протокол маршрутизации OSPF (или аналогичный) в ваши внутренние таблицы маршрутизации.

Если сервер полностью умирает, маршрут удаляется из ваших внутренних таблиц маршрутизации, и трафик автоматически перестает поступать на мертвый сервер в течение 30 секунд.

В большинстве сетей это решение ничего не стоит. Маршрутизация OSPF может быть выполнена с использованием Quagga, если ваши прокси работают под управлением Linux или другого варианта UNIX.

Ваша внутренняя сеть также должна быть в состоянии говорить по протоколу OSPF, но это происходит из коробки с большинством аппаратных средств класса Cisco или Juniper. Вы планируете запустить достаточно неплохое сетевое оборудование для поддержки этих тысяч сайтов, не так ли;-)?

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

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

Есть много способов взглянуть на это. Когда вы начнете смотреть на эти типы вещей, вы, вероятно, увидите терминологию, такую ​​как "Active-Active" или "Active-Passive".

То, что вы описываете, является установкой "Active-Active", где и основное, и "отказоустойчивое" оборудование служат потребностям клиента. Обычно Active-Passive означает, что есть некоторая ручная часть для переключения с "активного" сервера на резервный "пассивный" сервер.

Любая конфигурация является совершенно законной, и правильный ответ на ваш вопрос действительно сводится к анализу вашей индивидуальной ситуации. На что следует обратить внимание: 1. Обе части оборудования эквивалентны? (IE: будут ли ваши клиенты одинаковыми, независимо от того, какой путь они пройдут через вашу инфраструктуру).

  1. Стоит ли постоянно запускать оба экземпляра?

  2. Какое влияние оказывает время простоя при отказе? (IE: Как долго вы будете внизу? Сколько будет стоить такой сбой).

  3. Являются ли элементы вашего процесса обслуживания (обновления, резервные копии) полезными? (IE: обновление программного обеспечения на серверах за балансировщиком нагрузки, обновление самого балансировщика нагрузки и т. Д.). Это сценарии, в которых вы вытаскиваете одного участника из пары, выполняете работу по обновлению и перенаправляете трафик на обновленного участника, пока вы обновляете второго участника.

В целом Active-Active более дорогой, но дает вам наименьший риск воздействия на ваших клиентов. Таким образом, "правильный" ответ больше связан с бизнес-аспектами, чем с техническими.

Теперь, если все вещи не равны, вы можете посмотреть на такие вещи, как:

  1. Предсуществующая (не ваше приложение) нагрузка на каждый из балансировщиков.

  2. Аппаратное обеспечение / емкость на каждом.

  3. Возраст (близок ли он к концу жизни или скоро провалится?)

  4. Местоположение (если вы говорите с несколькими центрами обработки данных... географическое местоположение может повлиять на производительность).

Я знаю, что не дал вам ответ "СДЕЛАТЬ это"... но, надеюсь, я дал некоторое представление о типах соображений, которые вы бы сделали, придя к своему ответу.

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