Я читал об отказоустойчивости DNS и кучу других технических терминов, но я немного новичок в этом, поэтому все это звучит для меня по-гречески. В основном вот что мне просто нужно:
У меня есть две учетные записи общего хостинга от двух разных провайдеров (сервер A и сервер B). Каждая из этих учетных записей содержит точно такое же содержимое веб-сайта.
В обычный день ввод моего доменного имени должен указывать на IP-адрес сервера A. Но в плохой день, когда сервер A не работает или недоступен, мое доменное имя должно указывать на IP-адрес сервера B как можно быстрее.
Как вы этого добиваетесь и какие услуги можете порекомендовать? Спасибо.
Заметка: у этого вопроса есть следующий вопрос: DNS Round Robin: несколько серверов имен против нескольких записей A?
Простой ответ - использовать сеть распространения / доставки контента для обработки вашего трафика. У них уже есть инфраструктура для обработки такого отказа.
Если вам необходимо разместить его самостоятельно, можно выбрать один из следующих путей:
Однако моя первая рекомендация - все же использовать CDN.
Это никогда не будет работать только с учетными записями общего хостинга. Вам понадобится что-то умное, чтобы справляться с отключениями. Вариантов много:
Это самое простое и можно сказать самое дешевое решение для статического контента. Вы загрузите статический контент (js, html, изображения и т. Д.) В CDN, и он будет распространять его по всему миру. У вас высокая доступность вашего контента, и ваши посетители будут загружать ваш контент с ближайших серверов, а не через весь Интернет. CDN не может обслуживать динамический контент (хорошо, некоторые вроде Akamai могут, но это дорого и не может предоставить все)
Вы должны настроить свой собственный сервер в качестве балансировщика нагрузки с помощью HAProxy. Вы должны указать свои записи DNS на балансировщик нагрузки, и он будет направлять трафик на целевые серверы. Loadbalancer может управлять распределением нагрузки, когда все серверы в порядке, и отключать трафик, когда некоторые серверы умирают.
Если вам нужна HA, у вас должно быть больше балансировщиков нагрузки в резервном копировании с использованием виртуального IP (используя что-то вроде KeepAlived). Этого довольно просто достичь, если оба ваших балансировщика нагрузки находятся в одной сети, но это довольно сложно, если вы хотите, чтобы эти балансировщики нагрузки были у разных поставщиков (в конечном итоге вы получите что-то, называемое многодомной AS, вашей собственной IP-подсетью и другими вещами) . Вы можете использовать специализированное оборудование в качестве балансировщиков нагрузки, например устройства от F5.
Это дорогостоящее решение с точки зрения покупки, но оно может быть дешевле, чем CDN с точки зрения совокупной стоимости владения, и вы не ограничены с точки зрения того, что вы делаете.