Мне нужно разместить свой веб-сайт на нескольких серверах, чтобы в случае отказа основного сервера резервный сервер заработал.
У моего основного сервера есть статический IP-адрес, на котором сейчас работает сайт. Я хочу настроить альтернативный хостинг на Godadddy, чтобы в случае отказа основного сервера хостинг Godaddy начал работать с тем же статическим IP-адресом.
Является ли это возможным?
Возможно, вы захотите создать инфраструктуру для балансировки нагрузки / кеширования. Есть несколько способов сделать это. В первую очередь вам нужно решить, как это реализовать и где будут размещены ваши балансировщики нагрузки.
Вариант №1 - Балансировка нагрузки с использованием DNS Round Robin
Технически это не балансировка нагрузки в самом прямом смысле этого слова. Вы можете добиться этого, добавив в свой DNS 2 или более записей A, указывающих на один и тот же домен с разными IP-адресами для каждой записи. Поэтому используйте свой текущий статический IP-адрес и используйте IP-адрес GoDaddy для второй записи (если GoDaddy предоставит вам IP-адрес).
Ограничением этого является то, что он не проверяет систематически наиболее доступный сервер и не отправляет туда запрос. Он просто случайным образом отправляет запрос на IP-адрес вашей записи DNS. Это означает, что все еще возможно, что запрос будет отправлен на неработающий Сервер.
Вариант №2 - Внедрение HA Proxy или Nginx для балансировщиков нагрузки
Объяснять немного долго. Вам нужно прочитать здесь. Но это очень надежно. С помощью такого типа системы ваш балансировщик нагрузки может проверить, какой сервер является наиболее доступным, и отправить туда запрос. Таким образом, он не будет отправлять запрос на неработающий сервер. В то же время вы можете настроить его так, чтобы он не отправлял запрос на занятый сервер.
Вариант №3 - CloudFlare (бесплатно)
CloudFlare может кэшировать ваши файлы и показывать кешированную копию, если ваш сайт не работает. Зависит от ваших потребностей и типа вашего сайта. Кэш не на 100% лучший в бесплатном пакете, но отлично работает. Платные пакеты лучше кешируются.
Некоторые провайдеры корневых серверов предлагают маршрутизируемые IP-адреса (аварийный IP-адрес); таким образом вы можете настроить два сервера, подготовленных для использования одного и того же маршрутизируемого IP-адреса (в дополнение к их статическому первичному IP-адресу). Чтобы оба сервера были синхронизированы, вы можете использовать сетевую файловую систему, такую как drbd и / или репликация db. Когда основной сервер выходит из строя, вы можете автоматически перенаправить IP-адрес домена на вторичный сервер.
Это, вероятно, не будет предлагаться вашим провайдером, но это единственное известное мне решение, которое работает только с двумя серверами. Для отказоустойчивой балансировки нагрузки требуется как минимум 3 сервера.
Если приемлемо короткое время простоя, вы можете вместо этого установить очень короткий ttl для a-записи вашего домена (ов), например 5 минут и обновите свою DNS-запись соответствующим образом, чтобы она указывала на «активный» сервер.