#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 /