Стоит ли мне строить кластер/RedHat, портал
Модераторы: Trinity admin`s, Free-lance moderator`s
Стоит ли мне строить кластер/RedHat, портал
Добрый день,по моему я поместил тему куда надо
я в тупике.Я собираюсь открывать портал на 20000 пользователей с кучей сервисов.Все касательно софта,CMS и прочих аспектов программирования уже решено.
Попробую описать на примере yahoo
Допустим мой сайт называется www.site.ru
сначала я запускаю пять сервисов,прописываю через домены третьего уровня
1) games.site.ru
2) rabota.site.ru
3) molotok.site.ru
4) blog.site.ru
5) forum.site.ru
Каждый из этих сервисов написан с нуля,и каждый устанавливается на отдельный недорогой сервер.
А сам основной сайт www.site.ru устанавливается тоже на отдельный более мощный сервер.Базы пользователей линкуются между собой,то есть пользователь бродит по сайту не замечая переходит с сервера на сервер,залогинившись единожды.Все тяжелое,в том числе и бекап будетхраниться на внешнем дисковом массиве.Сервера между собой свзяаны по гигабитной сети.
На всех серверах установлен лицензионный RedHat 32 битный
В оптимале мне нужно,чтобы допустим когда сервер games.site.ru будет загружен на 100%,а rabota.site.ru на 30 нагрузка распределялась равномерным способом между ними,то есть получается как бы кластер распределения нагрузки (LB)
Но это же получается совершенно раздельные системы?с разными базами,данными,причем динамично обновляемыми,стоит ли в таком случае ставить кластер?
Пока сильно смотрю в сторону Linux Virtual Server и вот этой статьи http://www.opennet.ru/docs/RUS/webcluster/index.html
Что вы думаете,заранее спасибо
я в тупике.Я собираюсь открывать портал на 20000 пользователей с кучей сервисов.Все касательно софта,CMS и прочих аспектов программирования уже решено.
Попробую описать на примере yahoo
Допустим мой сайт называется www.site.ru
сначала я запускаю пять сервисов,прописываю через домены третьего уровня
1) games.site.ru
2) rabota.site.ru
3) molotok.site.ru
4) blog.site.ru
5) forum.site.ru
Каждый из этих сервисов написан с нуля,и каждый устанавливается на отдельный недорогой сервер.
А сам основной сайт www.site.ru устанавливается тоже на отдельный более мощный сервер.Базы пользователей линкуются между собой,то есть пользователь бродит по сайту не замечая переходит с сервера на сервер,залогинившись единожды.Все тяжелое,в том числе и бекап будетхраниться на внешнем дисковом массиве.Сервера между собой свзяаны по гигабитной сети.
На всех серверах установлен лицензионный RedHat 32 битный
В оптимале мне нужно,чтобы допустим когда сервер games.site.ru будет загружен на 100%,а rabota.site.ru на 30 нагрузка распределялась равномерным способом между ними,то есть получается как бы кластер распределения нагрузки (LB)
Но это же получается совершенно раздельные системы?с разными базами,данными,причем динамично обновляемыми,стоит ли в таком случае ставить кластер?
Пока сильно смотрю в сторону Linux Virtual Server и вот этой статьи http://www.opennet.ru/docs/RUS/webcluster/index.html
Что вы думаете,заранее спасибо
- exLH
- Сотрудник Тринити
- Сообщения: 5061
- Зарегистрирован: 11 фев 2004, 15:49
- Откуда: Москва
- Контактная информация:
Re: Стоит ли мне строить кластер/RedHat, портал
Сходите сюда - почитайте, посмотрите...
Re: Стоит ли мне строить кластер/RedHat, портал
сходил и прочел,но я не спрашиваю как,я спрашиваю стоит ли в моем случае создавать кластер,мне нужно понять стоит ли сервера обьединять в кластер,то есть как бы получиться отдельный пусть и мощный сервер на котором крутиться несколько фич,или же просто разбросать по разным серверам...как лучше будет для пользователя,и естественно скорость загрузки портала очень важна,все должно летать,тем более что все CMS и сервисы самопис,обидно будет если железо и конфиг подкачает,задачу я попытался описать как можно подробнее,но если есть дополнительные вопросы то буду рад ответить
- exLH
- Сотрудник Тринити
- Сообщения: 5061
- Зарегистрирован: 11 фев 2004, 15:49
- Откуда: Москва
- Контактная информация:
Re: Стоит ли мне строить кластер/RedHat, портал
Видимо нужно повторить.cbh писал(а):сходил и прочел
Вот чтобы таких идей не возникало - сходите и почитайте все-таки более внимательно, как имеет смысл (и как это реально делают) строить масштабируемые системы.cbh писал(а):то есть как бы получиться отдельный пусть и мощный сервер на котором крутиться несколько фич
Re: Стоит ли мне строить кластер/RedHat, портал
читаю уже второй день,много прояснил для себя,но кое что все еще пока неясно,буду признателен если проясните
1)стоит ли использовать DNS Round Robin для балансировки?Я читал что эта технология неэффективна и может использоваться только в смешанном варианте с другими, так как каждый провайдер имеет в своем распоряжении кэширующие DNS сервера, которые сводят на НЕТ все плюсы.
2)На месте директоров лучше использовать аппаратное средство,например циско или же балансировку можно делать WEB проксированием,например через Ngnix,то есть поставить два директора один из них резервный.
3)Нужно ли кластеризовать в моем случае SQL как написано здесь http://www.howtoforge.com/loadbalanced_ ... ter_debian или же эффективнее будет независимые БД разнести по разным SQL серверам, причем каждый из них в отдельный openvz/vserver контейнер,потому как SQL не умеет себя толком ограничивать. Физически все это может жить как на одном сервере, так и на нескольких. Для каждого независимого SQL несколько слейвов с репликацией.
Просто меня смущает одно, из обязательных условий проекта хендовер пользователя,то есть пользовател должен бродить по сайту не замечая этого,один сервис должен передавать его другому.Ну как на мейл ру,залогиновшись единожды,он может проверить почту,пообщать в своем мире,поиграть игры итд.
И основной запор в моей голове это правильно построение SQL базы
4) я в сильно затуплении,скажем так,....не понимаю в чем разница в построении кластера с использованием LVS+heartbeat либо же DRBD+heartbeat (возможно это тупой вопрос,поэтому извиняйте)
drbd не масштабируется(а маштабируемость понадобиться) а LVS хорош для распределения запросов на обслуживание.
Однако я не представляю алгоритма учитывающего верность данных на каждом сервере. Ведь именно на правильные и актуальные данные нужно отправлять клиентов.Проблема еще усугубляется и тем что сайт будет очень диномично обновляемым причем информация будет самой разной,видео,фото,музыка,новости,текст,итд.Выход внешнее хранилище???что делать?
Я еще раз хочу сказать,что я лично кластер строить не собираюсь,будут работать знающие люди,я всего лишь хочу понять архитектуру и как лучше,не совсем уверен что они предложат оптимальное решение,вот и хочу перестраховаться
Заранее спасибо
1)стоит ли использовать DNS Round Robin для балансировки?Я читал что эта технология неэффективна и может использоваться только в смешанном варианте с другими, так как каждый провайдер имеет в своем распоряжении кэширующие DNS сервера, которые сводят на НЕТ все плюсы.
2)На месте директоров лучше использовать аппаратное средство,например циско или же балансировку можно делать WEB проксированием,например через Ngnix,то есть поставить два директора один из них резервный.
3)Нужно ли кластеризовать в моем случае SQL как написано здесь http://www.howtoforge.com/loadbalanced_ ... ter_debian или же эффективнее будет независимые БД разнести по разным SQL серверам, причем каждый из них в отдельный openvz/vserver контейнер,потому как SQL не умеет себя толком ограничивать. Физически все это может жить как на одном сервере, так и на нескольких. Для каждого независимого SQL несколько слейвов с репликацией.
Просто меня смущает одно, из обязательных условий проекта хендовер пользователя,то есть пользовател должен бродить по сайту не замечая этого,один сервис должен передавать его другому.Ну как на мейл ру,залогиновшись единожды,он может проверить почту,пообщать в своем мире,поиграть игры итд.
И основной запор в моей голове это правильно построение SQL базы
4) я в сильно затуплении,скажем так,....не понимаю в чем разница в построении кластера с использованием LVS+heartbeat либо же DRBD+heartbeat (возможно это тупой вопрос,поэтому извиняйте)
drbd не масштабируется(а маштабируемость понадобиться) а LVS хорош для распределения запросов на обслуживание.
Однако я не представляю алгоритма учитывающего верность данных на каждом сервере. Ведь именно на правильные и актуальные данные нужно отправлять клиентов.Проблема еще усугубляется и тем что сайт будет очень диномично обновляемым причем информация будет самой разной,видео,фото,музыка,новости,текст,итд.Выход внешнее хранилище???что делать?
Я еще раз хочу сказать,что я лично кластер строить не собираюсь,будут работать знающие люди,я всего лишь хочу понять архитектуру и как лучше,не совсем уверен что они предложат оптимальное решение,вот и хочу перестраховаться
Заранее спасибо
Re: Стоит ли мне строить кластер/RedHat, портал
Все нижесказанное это мое личное мнение, сейчас оно такое, возможно в последствии я его поменяю.
1) DNS Round Robin имеет смысл использовать внутри кластера для балансировки например нагрузки от шлюзующих WEB серверов в коннекте к хранилке или БД.
Внешний RoundRobin от провайдера лишен смысла.
2)Оба решения имеют право на жизнь, програмное решение более гибко, аппаратное более надежно.
3) Клистеризация на MySql на нынешний период времени оставляет желать лучшего. Если упор делаете на непрерывность обслуживания, рекомендую режим актив-пассив раздельных и не знающих друг о друге серверов с репликацией на блочном уровне например BRDB. Достойных и надежных решений с балансировкой нагрузки я не знаю (те что знаю либо морально устарели, либо не надежны). Можно использовать продукт, то что называется MySQL Cluster но для нормальной работы потребуется +1 сервер который будет заниматься арбитражем, читать тут . Можно юзать локальный round-robin и несколько серверов реплицирующихся между собой, но для отказоустойчивости придется осилить достаточно сложную настройку
4) не очень понял вопроса ибо heartbeat это пакет который следит за остальными участниками кластера и выполняет действия по наступлении события (падения или восстановления партнеров) DRDB - средство репликации блочного устройства а LVS - набор разных средств работы в кластере.
P.S. что касается статьи в опеннете по построению web кластера с балансировкой нагрузки - она устарела морально , последняя правка 13 Dec 2001 ( mod_backhand не поддерживается )
1) DNS Round Robin имеет смысл использовать внутри кластера для балансировки например нагрузки от шлюзующих WEB серверов в коннекте к хранилке или БД.
Внешний RoundRobin от провайдера лишен смысла.
2)Оба решения имеют право на жизнь, програмное решение более гибко, аппаратное более надежно.
3) Клистеризация на MySql на нынешний период времени оставляет желать лучшего. Если упор делаете на непрерывность обслуживания, рекомендую режим актив-пассив раздельных и не знающих друг о друге серверов с репликацией на блочном уровне например BRDB. Достойных и надежных решений с балансировкой нагрузки я не знаю (те что знаю либо морально устарели, либо не надежны). Можно использовать продукт, то что называется MySQL Cluster но для нормальной работы потребуется +1 сервер который будет заниматься арбитражем, читать тут . Можно юзать локальный round-robin и несколько серверов реплицирующихся между собой, но для отказоустойчивости придется осилить достаточно сложную настройку
4) не очень понял вопроса ибо heartbeat это пакет который следит за остальными участниками кластера и выполняет действия по наступлении события (падения или восстановления партнеров) DRDB - средство репликации блочного устройства а LVS - набор разных средств работы в кластере.
- откуда такая инфа ??? демон следит за изменением блочного устройства и реплицирует изменения на оппонента, если размер блочного устройства меняется то и репликация будет происходить на уже измененном размере. Простой пример LVM + DRDB причем это работает как DRDB поверх LVM так и наоборот.drbd не масштабируется
целостность данных на блочном уровне отслеживается демоном drbd алгоритм не сложный, разруливает все вплоть до ситуации split brain.Однако я не представляю алгоритма учитывающего верность данных на каждом сервере.
drbd это все решает, но я все же рекомендовал бы использовать любую параллельную кластерную ФС. Если коммерческое использование смотрите в сторону GPFS (примерно 300$ на сервер), из бесплатных glusterfs например неплоха.Ведь именно на правильные и актуальные данные нужно отправлять клиентов.Проблема еще усугубляется и тем что сайт будет очень диномично обновляемым причем информация будет самой разной,видео,фото,музыка,новости,текст,итд.Выход внешнее хранилище???что делать?
P.S. что касается статьи в опеннете по построению web кластера с балансировкой нагрузки - она устарела морально , последняя правка 13 Dec 2001 ( mod_backhand не поддерживается )
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 10 гостей