Назад | Перейти на главную страницу

Один домен скрывает два сервера

Для нашего веб-приложения SaaS у нас есть два идентичных сервера в двух географически разделенных центрах обработки данных.

FOO_1 является рабочим сервером и выполняет репликацию в реальном времени (ведущий-ведомый MySQL) в свою резервную копию F00_2. Мы хотим, чтобы наши пользователи всегда заходили на THEFOO.COM, который каким-то образом указывает на рабочий сервер.

Таким образом, даже если FOO_1 умирает, мы можем просто переключить THEFOO.COM на перенаправление на FOO_2, чтобы ошибка была прозрачной. Этот переключатель может быть ручным или автоматическим, но без восстановления после сбоя (если FOO_1 каким-то образом снова станет доступным).

Есть ли способ сделать это с помощью DNS? Я застреваю с конфигурацией ANAME и CNAME. Мы не используем субдомены, только прямые домены.

Если нет, то каковы другие варианты? Есть ли смысл иметь веб-сервер на LOVELY_FOO.COM и просто перенаправлять весь трафик? Я также посмотрел на балансировщики нагрузки, но не нашел решения для центров обработки данных / сетевых поставщиков.

Вы можете, как вы упомянули, сделать это с помощью внешнего интерфейса обратного прокси. (Например, apache). Точно так же брандмауэр веб-приложения (например, веб-прокси sophos / astaro) может обеспечить отказоустойчивость (а также другие полезности, которые могут вам понадобиться в дополнение, например, различные функции безопасности веб-приложений.

Просто используйте запись A. Он сопоставляет thefoo.com с любым IP-адресом. Таким образом, при нормальных обстоятельствах он будет указывать на IP-адрес foo_1. Если foo_1 выходит из строя, вы меняете запись A, чтобы она указывала на IP-адрес foo_2.

Держите TTL коротким, чтобы изменения распространялись быстро. Некоторые поставщики DNS предлагают автоматическое переключение при отказе как услугу (например, Amazon Route53).

Вы можете сделать это с помощью глобального балансировщика нагрузки. У нас есть несколько gtms F5, которые обрабатывают этот трафик. Это делается через DNS, и в зависимости от конфигурации вы можете определить, какая запись предоставляется клиенту. Вы можете купить эту услугу, если не можете разместить свои собственные gtm.