У меня есть контент веб-страницы с действительно высокой доступностью, который должен быть в сети круглосуточно. Поэтому вместо того, чтобы полагаться на один сервер, мне было интересно, смогу ли я обрабатывать одно доменное имя с несколькими серверами?
Могу я просто установить разные серверы имен для этого домена? Будут ли запросы автоматически распределяться между этими серверами? Это так просто?
Вы совершенно не хотите использовать Round Robin DNS. Основная проблема заключается в том, что он не может сбалансировать нагрузку с помощью какого-либо интеллекта и не принимает во внимание кеширование DNS на стороне клиента. DNS просто не предназначен для балансировки нагрузки. Эта технология устарела, и вы действительно хотите использовать Server Load Balancer (либо устройство, либо программное обеспечение, но я действительно рекомендую устройство, если вы заботитесь о производительности).
Происходит вот что:
Некоторые популярные производители SLB - это F5 (мой личный фаворит, но это только я, и они, как правило, дороже - по уважительным причинам, но это тоже мое мнение), RadWare, Cisco и Juniper.
У вас действительно есть четыре варианта:
Проблема с DNS round robbin заключается в том, что если один из ваших серверов выходит из строя, каждые N запросов будут терпеть неудачу при попытке использовать этот IP-адрес.
Только использование кластеризации и / или балансировщика нагрузки обеспечит вам истинную отказоустойчивость к сбоям оборудования, поскольку они перестанут отправлять запросы на неработающий сервер.
При выборе решения для балансировки нагрузки следует соблюдать осторожность, нужно ли вашему сайту обрабатывать сеансы. Если это так, убедитесь, что вы используете метод балансировки нагрузки, который не выбирает серверы случайным образом для данного клиента, иначе они могут просто потерять свой сеанс на вашем веб-сайте, каждый раз перенаправляясь на другой сервер.
Да, это основной способ обеспечить балансировку нагрузки между разными серверами (веб-серверы) ... это называется Циклический DNS.
Обращать внимание что это метод балансировки нагрузки, он не гарантирует никакого переключения при отказе одного сервера, т.е. если сервер не работает и ваш клиент получает свой адрес через DNS, у него будет сбой в соединении. Статистически перезагружаясь снова и снова, он будет иметь соединение с рабочим сервером, но это не чистое решение.