Перейти на конкретный сервер в зависимости от того, какой из них запущен?

#webserver #load-balancing

#веб-сервер #балансировка нагрузки

Вопрос:

У меня есть два сервера в разных местах, на которых работает один и тот же сайт (второй, я думаю, можно было бы назвать «зеркалом»). Я предпочитаю первый, но у него не очень хорошее время безотказной работы. Я хотел бы создать веб-сайт (на Javascript, HTML, Silverlight или ASP.NET C # (если возможно), который проверяет, запущен ли веб-сайт # 1, и (если он запущен) отправляет пользователя туда. Если он не запущен, он должен перенаправить пользователя на сервер # 2. Как я могу проверить, запущен ли сервер (например http://isup.me /) и как я могу перенаправить пользователя туда? Спасибо!

Комментарии:

1. Я думаю, вам следует искать балансировщик нагрузки или что-то вроде BigIP от F5

Ответ №1:

Существует множество DNS-провайдеров, которые сделают это за вас автоматически. Функция называется «Отказоустойчивый DNS» и работает она следующим образом:

для вашего домена, например example.com вы бы установили запись A для IP сервера # 1 (скажем, это ip 123.123.123.123)

example.com 123.123.123.123 TTL: 300 секунд

www.example.com было бы CNAME для example.com

Затем вы должны добавить IP-адрес сервера 2 в список отказоустойчивости для example.com. Затем провайдер будет проверять сервер № 1 каждые несколько минут, чтобы убедиться, что он запущен. Большинство провайдеров позволяют настроить, как часто и что проверять, чтобы определить, что он действительно включен.

Если сервер № 1 отключен, провайдер начнет обслуживать ip-адрес сервера № 2, поэтому весь трафик будет направлен туда.

Подробнее об этом можно прочитать здесь: http://www.dnsmadeeasy.com/enterprisedns/dnsfailover.html

Другой поставщик, который поддерживает это, zerigo.com

Ответ №2:

Если вы работаете в компании, и масштабируемость является проблемой в будущем, пожалуйста, используйте какой-нибудь loadbalancer, который автоматически сделает это за вас.

в loadbalancer есть различные опции для загрузки баланса и маршрутизации трафика.

Комментарии:

1. Это всего лишь небольшой персональный веб-сайт, и я бы предпочел ничего за него не платить.

Ответ №3:

Если вы используете IIS 7, взгляните на эту статью о балансировке нагрузки. http://learn.iis.net/page.aspx/486/http-load-balancing-using-application-request-routing /