Мой хостинг взимает с меня плату в размере 50 долларов в месяц за размещение моих серверов в одной VLAN, чтобы я создал кластер с помощью функции балансировки сетевой нагрузки.
Мне действительно не нужно разделять нагрузку между серверами, я искал простой способ создать сценарий аварийного переключения для защиты от сбоев серверов. Однако я считаю, что эта плата невысока.
Есть ли способ создать кластер без использования NLB? Может быть, что-то, что контролирует мой основной сервер и меняет DNS для домена, когда он выходит из строя?
DNS - плохой выбор для моделирования аварийного переключения. Причины
Мои предложения были бы
Я очень рекомендую прочитать Масштабируемые интернет-архитектуры Тео Шлосснагл поскольку он описывает это очень подробно
Вы можете настроить отдельный блок балансировки нагрузки с ldirectord, который контролирует ваши веб-серверы и балансирует нагрузку между теми, которые в настоящее время работают (и, в более широком смысле, поддерживает работу сайта, когда один из серверов выходит из строя). Мы используем это решение, чтобы позволить нам перезагрузить любой из двух наших веб-серверов, не влияя на время безотказной работы сайта.
Фактически, если ваши веб-серверы представляют собой Linux-серверы, вы можете запустить ldirectord на самом веб-сервере и используйте сердцебиение хранить ldirectord работает на живой коробке.
Это решение позволяет использовать общий IP-адрес (или несколько) между двумя или более ящиками и полностью избежать проблемы с DNS.
Один из способов - разместить ваш сайт на двух разных серверах, а затем иметь монитор сайта в третьем месте, который отслеживает подключение к основному серверу (куда обычно указывает ваш DNS). Если он обнаруживает, что сайт не работает, попросите монитор выполнить сценарий или нажмите URL-адрес обновления динамического поставщика DNS (например, DtDNS [которой я управляю], или DynDNS.com) с IP-адресом вашего резервного сервера, указанным для вашего домена / имени хоста. Это обновит запись DNS и направит трафик на ваш резервный веб-сервер. Когда основной сайт снова в сети, мониторинг может запустить другой сценарий или URL-адрес, который вернет «настоящий» IP-адрес.
Одним из ключевых моментов здесь является размещение DNS у провайдера, у которого есть API в своей системе, чтобы ваш домен можно было быстро обновлять и который поддерживает достаточно низкий TTL, чтобы посетители могли перенаправляться относительно быстро.
Другой - то, что за сайтом нужно наблюдать извне, объективно. Вы не можете запустить мониторинг на том же веб-сервере, что и сайт. Если весь сервер выйдет из строя, метод мониторинга / обновления сразу же отключится.
SimpleFailover делает более или менее то, что вы хотите. Помните, что DNS кэшируется, поэтому это не идеальное решение.
Что касается нескольких записей A, я недавно видел обсуждение реализации Vista и Win Server 2008 RFC3484, что означает, что вы не можете полагаться на циклический перебор и, скорее всего, получите неравномерную загрузку сервера от этих клиентов.
DNS стало проще позволяет настроить DNS так, чтобы в случае сбоя сервера он указывал вам на другое место. В нашем случае у нас есть статическая страница, на которой написано сайт не работает, попробуйте позже.
Если вы используете DNS таким образом, вам необходимо настроить относительно короткий TTL, чтобы обойти проблему кеширования.