The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Балансировка нагрузки кластера"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Балансировка нагрузки кластера"  +/
Сообщение от hash_is (ok) on 16-Дек-08, 22:34 
Здравствуйте!
Имеется 2 сервера с полностью идентичными системами (FreeBSD 7.1). На них поднят MySQL кластер (ацкий пожиратель оперативы) и запущенны 2 апача, на которых крутится нагруженный сайт и юзает кластерную БД. Сервера находятся у двух разных провов и имеют разные ip. Для балансировки нагрузки тупо сделали в NAMED 2 ip на одно имя.

Вопрос:
Как сделать чтобы если один сервер выключен, DNS не выдавал клиентам его адрес? А то половина запросов в никуда уходит....

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Балансировка нагрузки кластера"  +/
Сообщение от SubGun (ok) on 17-Дек-08, 10:44 
Вы изначально пошли не тем путем. На мой взгляд, гораздо эффективнее было бы поставить что-то типа mysql-proxy, для балансировки между MySQL серверами. Кроме того, nginx для ускорения отдачи статистики. Один из серверов может сугубо отрабатывать скрипты, а результат как статику отдавать nginx.
Советую почитать умные статьи про организацию высоконагруженных систем: http://community.livejournal.com/ru_highload/
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Балансировка нагрузки кластера"  +/
Сообщение от medval on 17-Дек-08, 20:05 
>Вы изначально пошли не тем путем. На мой взгляд, гораздо эффективнее было
>бы поставить что-то типа mysql-proxy, для балансировки между MySQL серверами. Кроме
>того, nginx для ускорения отдачи статистики. Один из серверов может сугубо
>отрабатывать скрипты, а результат как статику отдавать nginx.
>Советую почитать умные статьи про организацию высоконагруженных систем: http://community.livejournal.com/ru_highload/

Путей распределения нагрузки действительно много. Но я смотрю вопрос не именно в распределении, а ближе к обеспечению отказоустойчивости и непрерывной работы некой системы. Присоединюсь к автору вопроса, возможно ли такое средствами DNS?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "а почему Вы спрашиваете?"  +/
Сообщение от Andrey Mitrofanov on 18-Дек-08, 09:38 
>Путей распределения нагрузки действительно много. Но я смотрю вопрос не именно в
>распределении, а ближе к обеспечению отказоустойчивости и непрерывной работы некой системы.
>Присоединюсь к автору вопроса, возможно ли такое средствами DNS?

Логически рассуждая, отказоустойчивость делается дублированием сервисов и обеспечением их доступности. Дублирование к DNS-у не имеет отношения, дублирование самого DNS тоже бы надо %) делать, но для простоты %) опустим этот вопрос. Доступность -- мониторингом состояния и включением-выключением доступа к клиента серверам. К мониторингу DNS никакого отношения не имеет, по идее. Включать-выключать диступ по имени к узлам в кластере через dns - можно. TTL "поменьше" поставить и при изменении сосотояния узлов/сервисов обнослять зону/имя в dns.

Теоретически как-то так. Наверное что-то пропустил. $)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Балансировка нагрузки кластера"  +/
Сообщение от SubGun (ok) on 18-Дек-08, 11:19 
Отказоустойчивость MySQL обеспечивается не кластеризацией, а репликацией. Единственное узкое место - веб-сервер. Ставим CARP.
http://img.fotki.yandex.ru/get/1/vbob.2/0_881_da8caa39_orig
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Балансировка нагрузки кластера"  +/
Сообщение от s_dog (??) on 18-Дек-08, 11:25 
Покапайся на форуме, тут уже этот вопрос проходил, были варианты, точно.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Балансировка нагрузки кластера"  +/
Сообщение от hash_is (ok) on 18-Дек-08, 20:14 
Итак по порядку отвечаю на все сообщения:

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

2) Рассуждения от Andrey Mitrofanov - уже ближе к делу, а именно: обеспечить кластеризацию рядом стоящих серверов несложно(для специалиста), речь идет о том, что есть 2 кластера, допустим в каждом по 2 сервера, кластеры у двух разных провов, упал канал, свет, или ещё что там у одного провайдера, и клиенты должны автоматом перекинуться на второй кластер, который в штатном режиме просто ловил 50% обращений.

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

4) Отказоустойчивость достигается как кластером, так и репликацией, порой эти понятия даже имеют единый смысл, например в доках по кластеру на postgresql часто используют слово репликация вместо кластера.... Но сейчас не идет речи о том, что уменя БД плохо синхронится, или апач перегружен....

Сейчас есть промежуточное решение, но оно как-бы сказать дорогое и ИМХО из пушки по муровьям, итак:

2 кластера, каждый состоит из 2-х  серверов, кластера стоят у 2-х разных провайдеров.
1) Между серверами в кластере поднимается CARP с балансировкой.
2) Покупается автономная система, на своем роутере настраиваем маршруты или делаем round-robin для балансировки запросов ещё и между кластерами.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Балансировка нагрузки кластера"  +/
Сообщение от SubGun (ok) on 19-Дек-08, 11:05 
На сисадминс.ру не так давно была задорная статья про человека, который кластеризовал DNS.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Балансировка нагрузки кластера"  +/
Сообщение от hash_is (??) on 22-Дек-08, 22:36 
>На сисадминс.ру не так давно была задорная статья про человека, который кластеризовал
>DNS.

Посмотрел.... Простите меня модераторы, но аффтор того топика просто придурок...

То о чем я завел речь очень востребовано, и вроде как ещё не решено, что предает актуальность тематике. Если тема будет решена без покупки AS, то обесчаю написать статью о построении решения от а до я.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "Балансировка нагрузки кластера"  +/
Сообщение от Денис Юсупов email on 10-Сен-09, 17:37 
>1) Между серверами в кластере поднимается CARP с балансировкой.
>2) Покупается автономная система, на своем роутере настраиваем маршруты или делаем round-robin
>для балансировки запросов ещё и между кластерами.

C AS это оччень "из пушки по воробьям", запаритесь. CARP'а вполне достаточно должно быть, дальше уже по туннелю можно прокинуть этот мультикаст.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Балансировка нагрузки кластера"  +/
Сообщение от angra (ok) on 22-Дек-08, 23:28 
По постановке вопроса выходит что есть некая третья точка, на которой стоит DNS сервер. Если так то проверяем на этой третей точке доступность двух других и соответственно оповещаем named. Желательно выставление низкого ttl, дабы уменьшить влияние кеширования клиентами и/или их isp
Если же третьей точки нет, то named придется ставить на обоих, что отлично согласуется с требованием наличия минимум двух dns серверов в разных сетях. Дальше поступаем аналогично первому случаю.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Балансировка нагрузки кластера"  +/
Сообщение от JaNet email(ok) on 21-Янв-09, 14:14 
>По постановке вопроса выходит что есть некая третья точка, на которой стоит
>DNS сервер. Если так то проверяем на этой третей точке доступность
>двух других и соответственно оповещаем named. Желательно выставление низкого ttl, дабы
>уменьшить влияние кеширования клиентами и/или их isp
>Если же третьей точки нет, то named придется ставить на обоих, что
>отлично согласуется с требованием наличия минимум двух dns серверов в разных
>сетях. Дальше поступаем аналогично первому случаю.

автор топика решения не нарыл? нечто подобное и у меня имеет место быть. пока что без кластера, потом - как вариант. AS уж больно дорогое удовольствие.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "Балансировка нагрузки кластера"  +/
Сообщение от sm00th1980 (ok) on 30-Июл-09, 22:18 
>автор топика решения не нарыл? нечто подобное и у меня имеет место
>быть. пока что без кластера, потом - как вариант. AS уж
>больно дорогое удовольствие.

если честно то я не согласен с утверждением что AS больно дорогое удовольствие - посмотрите цены на www.ipaddr.ru(это не реклама!!!) - мы сами недавно воспользовались их помощью. AS + 1 блок адресов обойдётся в 130 + 240 баксов = итого 370 $ - неужели это дорого?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "Балансировка нагрузки кластера"  +/
Сообщение от JaNet email(??) on 06-Авг-09, 23:56 
>>автор топика решения не нарыл? нечто подобное и у меня имеет место
>>быть. пока что без кластера, потом - как вариант. AS уж
>>больно дорогое удовольствие.
>
>если честно то я не согласен с утверждением что AS больно дорогое
>удовольствие - посмотрите цены на www.ipaddr.ru(это не реклама!!!) - мы сами
>недавно воспользовались их помощью. AS + 1 блок адресов обойдётся в
>130 + 240 баксов = итого 370 $ - неужели это
>дорого?

Мне провайдер (Питер, Ланк) выставил предложение-счет : 500$ за регистрацию, 1000$ - год (аб. плата) Блок адресов просил из 8 штук. А за ссылочку спасибо большое.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "Балансировка нагрузки кластера"  +/
Сообщение от Денис Юсупов email on 10-Сен-09, 17:35 
>Как сделать чтобы если один сервер выключен, DNS не выдавал клиентам его
>адрес? А то половина запросов в никуда уходит....

TTL 0 выставляйте, тогда при каждом обращении к серверу DNS будет выдавать новый ip. Мы так делали с VPN-"кластером". Причём поскольку по умолчанию попытка установить TCP соединение происходит три раза, то все эти три раза DNS честно выдаёт разные ip.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру