Я рассматривал возможность использования обхода отказа DNS с циклическим перебором, но из-за различных уровней кэширования DNS вы рискуете, что старые записи будут указывать на неработающий сайт.
Если у меня есть собственное адресное пространство и номер AS в центре обработки данных 1, я могу объявить миру о своей сети 1.1.1.x / x с моего маршрутизатора, и каждый может задействовать балансировщик нагрузки в 1.1.1.1, жизнь прекрасна. Тогда я мог бы иметь такую же настройку в другом центре обработки данных, и маршрутизатор там также объявляет мое IP-пространство и номер AS другому вышестоящему провайдеру. Очевидно, что пользователи будут выбирать наиболее близкие к ним настройки на основе AS-PATH и других показателей из BGP в своей локальной сети интернет-провайдеров.
Теперь давайте представим, что в центре обработки данных 1 происходит что-то ужасное, и маршрутизатор 1 отключается, мое IP-пространство и AS больше не объявляются там, и весь трафик будет возвращаться исключительно в центр обработки данных 2, а трафик на 1.1.1.1 (балансировщик нагрузки ). Люди так делают, это нелепая идея? Я пропустил что-то совершенно очевидное, почему мне не следует этого делать? Это просто непрактичный или гениальный план?
Работает нормально. Просто для этого требуется гораздо больше инженерной работы, вам нужны маршрутизаторы, подключение BGP, ваше собственное IP-пространство и т.д. В приведенном выше примере я предполагаю, что у вас есть центры обработки данных 1 и 2, работающие все время.
Многие люди справляются с этим хорошо, ищите "anycast", чтобы узнать, что вы пытаетесь сделать. Большая проблема заключается в том, что он работает намного лучше для служб на основе UDP (без отслеживания состояния). Если вы загружаете большой файл через HTTP и на стороне маршрутизатора происходит сбой, ваш трафик перейдет на новую версию 1.1.1.1, которая не знает, что происходит, и отключит соединение.
Еще один вариант вне BGP - это глобальная балансировка нагрузки. Чтобы избежать распространения DNS, я искал решение SAAS, называемое облачным рычагом. Они используют IPv6 Multicase и собственный балансировщик нагрузки, чтобы заставить его работать. Мы еще не пошли с ними, но это просто из-за приоритетов.
Я знаю, что он не отвечает на ваш вопрос о BGP, но хотел выбросить его на всякий случай.