Как лучше настроить Failover доступности сайта при падении связи в ДЦ?

Здравствуйте!

Ситуация: у ДЦ пропадает связь.
Задача: сделать failover, чтобы сайт работал даже если в ДЦ пропадает связь со всем миром.

Как сделать failover на первый взгляд понятно - ставятся дублирующие сервера (для backend, db) и балансировщик проксирует запросы на разные backends. При падении одного из backend - он перестает обрабатывать запросы, нагрузка распределяется на оставшихся.

Интересно вот что:
1. Как организовать систему так, чтобы балансировщик/frontend был не один, а несколько и в разных ДЦ? Чтобы не иметь единой точки входа/отказа?
2. Если это невозможно, насколько идеологически правильно использовать какой-нибудь DynamicDNS для переключения домена на другой IP (с зеркалом в другом ДЦ) при возникновении проблем? (Downtime около 1 минуты - допустим).

Спасибо.
  • Вопрос задан
  • 418 просмотров
Пригласить эксперта
Ответы на вопрос 2
merryjane
@merryjane
Системный администратор
В простейшем случае вам поможет round-robin dns. Несколько записей, каждая из которых ведет на балансировщик в отдельнмо дц. При падении ДЦ потеряете только часть трафика. В большинстве своем браузеры сейчас умные и умеют перебирать адреса при недоступности первого.
В более сложном варианте поднимать динамическую маршрутизацию и весами балансировать маршруты до одного и того же адерса балансера в разных дц. При падении основного ДЦ трафик переключится на маршрут с меньшей метрикой и пойдет на резервный балансер.
Ответ написан
ptchol
@ptchol
Linux system administrator
Если вы сами себя анонсируете в мир, и полностью контролируете сеть то стоит смотреть на anycast dns.
Это позволит вам в случае отказа/деградации производительности сервисов одного из кластеров, переставать его анонсить, и убирать нагрузку.

Если нет, то тот вариант который вы описали вполне себе работоспосбный. Тот же амазоновский route53 умеет на основании хелсчеков менять DNS запись. Возьмите, потестируйте, если скорость "смены" Вас устроит, и вы знаете примерное кол-во посетителей в месяц, сможете прикинуть во сколько обойдется данное решение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы