У нас есть SaaS-приложение, которое нам необходимо для высокой доступности. У нас уже есть дорогой, хорошо обслуживаемый отказоустойчивый кластер Hyper-V, но сегодня в центре обработки данных, где мы размещаем этот кластер, произошло отключение питания на пять часов, которое полностью вывело нас из строя. Итак, теперь мы задаемся вопросом, может ли быть лучше подходить к использованию серверов в двух отдельных центрах обработки данных. Предполагая, что мы выполняем всю внутреннюю репликацию файлов и репликацию данных между этими двумя сайтами, мы задаемся вопросом, как справиться с интерфейсной маршрутизацией - неудивительно, как мы подходим к проблеме, мы всегда получаем балансировщик нагрузки единственная точка отказа.
Итак, вопрос в том ... как настроить балансировку нагрузки между двумя хостинговыми сайтами так, чтобы балансировщик нагрузки не был единственной точкой отказа? Есть ли способ использовать два отдельных балансировщика нагрузки, по одному на каждом сайте? Должны ли мы рассмотреть круговой DNS?
Вам необходимо сбалансировать нагрузку балансировщиков нагрузки.
Вы можете сделать это с помощью циклического перебора DNS, но у этого подхода много проблем. Вы не можете контролировать клиентов, которые кэшируют записи дольше, чем вы хотели бы, и вы не можете заставить трафик идти в определенное место.
Вы также можете сделать это с помощью глобальной балансировки нагрузки на сервер (GSLB). Это более продвинутый способ использования DNS, чтобы вы могли видеть из Интернета несколько центров обработки данных. Короче говоря, вы настраиваете некоторый механизм для разделения вашего трафика на фрагменты и используете DNS для выбора фрагмента. Мы используем хэш DNS-преобразователя, настроенного для поиска клиента. Другие люди используют географию для маршрутизации в «ближайший» центр обработки данных. Вам нужно будет добавить какой-то механизм для быстрого удаления IP-адреса из GSLB в случае отказа какой-либо одной точки отказа для этого центра обработки данных или кластера.
http://www.eukhost.com/web-hosting/kb/global-server-load-balancing/
Наконец, некоторые действительно продвинутые люди решают эту проблему с помощью Anycast DNS. Это снова пытается использовать «ближайший» подход к центру обработки данных. Anycasting ваш сервис означает, что вам нужно будет устранить любую «Statefullness». Это может оказаться трудным.
источник
Годы спустя ... но для тех, кто все еще ищет, это, кажется, самые доступные / простые решения для отработки отказа DNS:
источник