LINUX.ORG.RU
ФорумAdmin

Webserver Failover

 , , ,


0

3

Всем привет,

Возникла одна задумка/идея сделать failover своих веб серверов. Задача такая: есть 3 идентичных web сервера разбросанных географически. Необходимо чтобы при падении основного сервера траффик перенаправлялся на оставшийся сервер. Подумывал над вариантом добавления 3-х A records в DNS, но получается не то что хотелось, в этой схеме происходит round-robin перенаправление и выбирается произвольный сервер (Что меня в корне не устраивает).

Есть у DNS хорошая штука - SRV запись, и она позволяет делать все необходимое т.е. выставлять приоритеты (правда я очень сильно не уверен что браузеры поддерживают эту штуку) В общем то при использовании SRV записи ты указываешь:

В данном примере показано как это реализовано для SIP:

Hostname	                Type	       Address	        TTL	Priority	
_sip._tcp.sip.example.com	SRV	1 5060 64.12.34.56	300	10
_sip._tcp.sip.example.com	SRV	1 5060 64.12.34.76	300	20
_sip._tcp.sip.example.com	SRV	1 5060 64.12.34.96	300	30

Может как то можно завернуть траффик с помошью SRV записи? В общем буду раз любым соображениям по этому поводу

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

Если бы хосты были в одной сети то можно бы было заморочиться с VirtualIP, но тут это не подойдет.

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

alozovskoy ★★★★★ ()
Последнее исправление: alozovskoy (всего исправлений: 2)

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

madbbb ()
Ответ на: комментарий от madbbb

все браузеры уже давно умеют работать.....

За всех не говорите.

можно самому проверить на виртуальных машинах.

Все версии туевой хучи браузеров? Вы явно издеваетесь над ТС. Хотя... если вы про себя, то проверьте, потом нам расскажите.

anc ★★★★★ ()
Ответ на: комментарий от madbbb

Не существует стандартной процедуры для определения того, какие адреса будут использоваться запрашивающим приложением — некоторые серверы пытаются изменить порядок списка, уделяя приоритетное внимание численно более «близким» сетям. Некоторые настольные клиенты пытаются получить альтернативные адреса после того, как не удалось установить соединение в течение 30—45 секунд.

Круговая система DNS часто используется для распределения нагрузки территориально распределённых веб-серверов. Например, у компании есть один домен и три идентичных веб-сайта, расположенных на трёх серверах с тремя разными адресами. Когда один пользователь получает доступ к главной странице, он будет направлен на первый адрес IP. Второй пользователь, обращающийся к главной странице, будет отправлен на следующий адрес IP, а третий пользователь будет отправлен на третий адрес. В каждом случае, когда IP-адрес выдается, он отправляется в конец списка. Четвёртый пользователь, следовательно, будет отправлен вновь на первый адрес IP, и так далее.

К недостатком относится к примеру, если сервис на одном из адресов недоступен, Round Robin DNS будет продолжать раздавать этот адрес и клиенты будут по-прежнему пытаться соединиться с не работающим сервером.

mentax ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.