LINUX.ORG.RU
ФорумAdmin

Балансировка нагрузки с помощью DNS


0

1

Доброго времени! Собственно интересуют какие-нибудь примеры реализации сабжа, знаю про возможность DNS Round robin, и перловый сервер lbnamed, но последний кажется не обновлялся уже давно..по крайней мере на сайте автора дата - 98 год, а первый неинтересен тем, что выдает адреса независимо от нагрузки серверов..может есть ещё альтернативы какие-нибдь или проще самому написать?

откуда DNS знать про нагрузку каких-то там серверов? и это правильно.
А вообще, если у тебя роунд робин и одинаковые сервера, то в среднем на каждый попадёт одинаковое число запросов и на каждом будет одинаковая нагрузка.

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

Как бы и так понятно, что DNS round-robin не делает ничего больше, чем просто тупо расскидывает трафик по IP. Тут либо DNS-сервер с функцией кипалайва нужен (ТС навмекает на примерно тоже самое), либо эти адреса нужно резервировать uCARP'ом или подобной штукой.

Собственно я на стенде собирал кластер из 4х эквивалентных нод с балансировкой через DNS (уж больно нравится мне такое решение - никаких доп. железок, никаких лишних сущностей). В худшем случае одна нода собирает на себе через uCARP все IP-адреса из кластера и все.

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

>а если какой-то из n серверов будет недоступен, 1/n запросов завершатся таймаутом :)
на то админ деньги полусает, чтобы сервак починить быстро.

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

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

o ()

Глаза разуй. У них только обычная версия не обновлялась (т.к. нафиг никому не нужна), а версия, которая выдает DNS-клиентам ip-адреса, основываясь на нагрузках серверов, 2006 года : http://www.eyrie.org/~eagle/software/lbcd/ . Ты там собираешься географически распределенный кластер городить? И ещё не забывай, что DNS-клиенты ещё кэшируют IP обычно. Если у тебя сервера в пределах одной сети, то не морочейся, а посмотри в сторону распределения нагрузки через LVS, HAProxy, nginx. Но у данных проектов есть проблема в главных серверах, которые через себя трафик гонят. Они должны быть мощные и постоянно в онлайне (или юзай резервные + CARP). Если ты хочешь вменяемого ответа, то будь добр - задачу полностью описывай ;)

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

Вобще то вопрос стоял с выбором альтерантив, реализующих балансировку при помощи DNS, так что при чем тут LVS, HAProxy, nginx и прочие вещи - не очень понятно) т.к. под такие системы в любом случае придется городить ещё серверы+ещё дублирующие серверы, затраты получаются немаленькие) хотелось бы решить существующим железом. А что касается lbcd - он разве выдает какие-то адреса?

lbcd is a daemon that answers UDP packet requests and returns a packet of information about basic system information, including uptime, load average, number of logged-in users, whether someone is on console, and free space in /tmp. It can also check the availability of particular services. It is intended for use with a simple software load balancing system such as lbnamed.

да и 2006 год был 5 лет назад) впрочем, софт решает одну задачу, так что наверное и наворачивать его не надо.. За CARP всем спасибо, вот про него не знал, сейчас буду штудировать инфу=) З.Ы.: Да, кластер (вернее кластра) распределены географически. З.З.Ы: Про кеширование тоже знаю) поэтому и интересно, как возможно было решить такие проблемы

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

lbcd - демон на нодах кластера, который отдает lbnamed на dns-сервере сведения о нагрузки ноды и хёртбит осуществляет (сердцебиение).

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