Xpoint
   [напомнить пароль]

Переадресация домена на другой IP если хост недоступен!

Метки: [без меток]
[удл]
2012-01-30 18:07:55 [обр] PupSik[досье]
Можно ли переадресовать домен на другой IP если хост на который указывает dns недоступен?
спустя 54 минуты [обр] Евгений Седов aka KPbIC(7/176)[досье]
При чем тут Apache?
спустя 7 дней [обр] PupSik[досье]

Ребята, дабы облегчить жизнь серверу,
DNS сервер может распределять нагрузку на сервер
раздавая IP случайным образом,
если есть несколько записей А домена, и они указывают на разные IP

Я сам проверял все замечательно работает!
Но я не знаю проверяется ли доступность хоста при етом?

Вот в чём вопрос!

спустя 13 часов [обр] Евгений Седов aka KPbIC(7/176)[досье]

Что такое "доступность хоста"?

При чем тут Apache?

спустя 1 час 47 минут [обр] PupSik[досье]

Доступность хоста, в смысле работает ли он в данный момент(пингуется).

А Apache здесь не причем, я просто категорией ошибся,
но подумал что здешние обитатели ни чем не хуже,
и наверняка сталкивались с подобным.

спустя 1 час 25 минут [обр] Евгений Седов aka KPbIC(7/176)[досье]
М Перенесено из форума "Интернет::Веб-серверы::Apache"
спустя 10 минут [обр] Евгений Седов aka KPbIC(7/176)[досье]

А что дает ping? Попробуйте, например:

$ curl -I gov.ru; ping gov.ru

Или наоборот:

$ curl -I trest.sske.ru; ping trest.sske.ru
спустя 2 часа 53 минуты [обр] Филипп Ткачев(0/112)[досье]
PupSik[досье] то, что вы хотите называется отказоустойчивым кластером.
спустя 12 минут [обр] Евгений Седов aka KPbIC(7/176)[досье]

Филипп Ткачев[досье] Мне кажется, вы ошибаетесь. Автор хочет менять зональные данные в зависимости от проблем с машиной.

PupSik[досье] Кстати, а чего вы в итоге хотите добиться, какую проблему решить, какой сервис вы хотите подстраховать таким способом?

спустя 17 минут [обр] PupSik[досье]

Мне просто интересно.

Допустим есть несколько не стабильно(то работает то не работает в определенный промежуток времени) работающих примитивных серверов на которых хранится одна и та же информация,
а режим их роботы таков что в тот момент времени когда один сервер не доступен - работают другие,
и размещены они в разных местах.

спустя 3 минуты [обр] PupSik[досье]
И да Евгений(aka KPbIC), Ваша формулировка звучит правильнее, я хочу менять зональные данные в зависимости от проблем с машиной.
спустя 6 минут [обр] Евгений Седов aka KPbIC(7/176)[досье]

Опрос, конечно, делается не средствами DNS-сервера, но, в принципе, реализовать такое несложно.

Зависит от конкретной ситуации, но идея с DNS не слишком хороша, из-за кэширования серверами зональных данных. То есть, чтобы относительно оперативно менять зону, надо ставить маленькие TTL на RR-записи, иначе резольверы будут использовать данные из кеша.

спустя 35 минут [обр] Филипп Ткачев(0/112)[досье]

Вам нужен балансировщик нагрузки, который будет точно знать о работающих серверах. Для этого будет нужен точный список из них с опросом каждого минимум раз в минуту.

PupSik[досье], расскажите немного о нагрузке на ваши сервера.

спустя 37 минут [обр] Филипп Ткачев(0/112)[досье]
Кстати, насчет DNS есть алгоритм Round Robin.
С учетом вышеоупомянутого выпадения узлов мне кажется оптимальным было бы решение с достаточно мощным HA-кластером и грамотным кэшированием. С одной стороны это будет дороже, но позволит сэкономить время на поддержку и обслуживание, упростит обновление отдельных серверов, избавит от разного рода костылей по опросу работающих серверов.
Вообщем, пока вы не расскажите подробнее о задаче, это будет заочный диагноз рака по телефону.
спустя 3 минуты [обр] PupSik[досье]

Эта тема, уважаемые Евгений(aka KPbIC) и Филипп Ткачев, это продукт моего любопытства.
Спасибо Вам большое я кажется понял механизм работы данной системы.

Вердикт таков:)

Это с большим НО, можно сделать с помощью DNS (алгоритм Round-robin)

Самым оптимальным вариантном будет использование ПО для балансировки нагрузки
например Perlbal

спустя 34 минуты [обр] Евгений Седов aka KPbIC(7/176)[досье]
Но изначально-то вы хотели, чтобы сервера находились в разных местах.
спустя 15 часов [обр] PupSik[досье]
Ребятки вот еще полезная инфа http://samag.ru/archive/article/352
спустя 5 минут [обр] PupSik[досье]
спустя 15 минут [обр] Евгений Седов aka KPbIC(7/176)[досье]
сообщение промодерировано
М PupSik[досье] Есть nginx, LVS и много чего еще. Балансировка и отказоустойчивость — не совсем одно и то же. Балансировка на уровне приложения (по ISO OSI) зависит от протокола прикладного уровня. Еще бывают балансировки на нижних уровнях. Вы первоначально задались целью при помощи DNS "выключать" проблемные машины (хотя, даже тогда не представляли, что такое "проблемная"), а сейчас уже размыли тему до невероятно широких пределов. Очевидно, когда у вас возникнут реальные, а не гипотетические проблемы, вы будете четче представлять чего же вы на самом деле хотите. Мне кажется, пора закругляться. А тему придется удалить как бесполезную.
спустя 4 месяца 13 дней [обр] neokoder[досье]

У меня такой вопрос.
Можно ли как-то на уровне протоколов прикладного уровня, к примеру HTTP или SMTP организовать перенаправление на другой IP-адрес для балансировки нагрузки? Причём сервер, на который перенаправляется запрос может быть в любом месте, не обязательно в локальной сети датацентра.

В HTTP-протоколе есть специальный ответ 302 Found и заголовок Location, но вот указывать там вроде можно только доменное имя.

К примеру через DNS указываем список серверов, далее мониторя нагрузку на серверы можно отвечать «Server Busy», чтобы клиент последовательно перебирал IP-записи полученные из DNS пока не дойдет до необходимого сервера. Но здесь важно знать принцип работы браузеров, почтовых клиентов и smtp-агентов. т.е. Получив ответ «Server Busy» пойдут ли они гарантированно по следующему IP из DNS?
По идее должны.

спустя 11 часов [обр] Евгений Седов aka KPbIC(7/176)[досье]
Важно знать не принцип работы браузеров, а устройство протоколов. Если речь идет о вебе и почте, то проблема может быть решена с помощью реверс-прокси. Nginx, например.
спустя 6 часов [обр] neokoder[досье]
Евгений, каким образом работает этот реверс-прокси?
спустя 4 часа 20 минут [обр] neokoder[досье]

Ну в принципе я догадываюсь, что вы имеете ввиду. Т.е. текущий web или почтвый сервер выступает в качестве прозрачного прокси и проксирует соединение клиента на нужный сервер. Но это "очень не эффективное" решение поскольку тратится много лишних ресурсов, фактически в 3 раза больше, по сравнению с прямым соединением клиента на нужный сервер. Т.е. проксирующий сервер держит соединение с клиентом(1), организует соединение с нужным сервером(2), нужный сервер открывает соединение для связи с проксирующим сервером(3).

Или вы подразумевали что-то другое под "реверс-прокси"?

спустя 9 минут [обр] Евгений Седов aka KPbIC(7/176)[досье]
Держать соединение, читать, отдавать — легкие операции по сравнению с вычислительными. Такими, например, как выполнение запросов к базе. А статику можно отдавать и с фронта.
спустя 17 часов [обр] neokoder[досье]

Балансировки нагрузки(в чистом виде) при использовании TCP-шлюза(прокси) не происходит.
Не забывайте также что наиболее узким местом является не мощность(которой обычно хватает) серверов а ширина каналов, с этой целью распределение нагрузки и делается.

Так что, никто не знает каким образом на уровне протоколов прикладного уровня, к примеру HTTP или SMTP организовать перенаправление на другой IP-адрес для балансировки нагрузки?

Powered by POEM™ Engine Copyright © 2002-2005