LINUX.ORG.RU

Создание отказоустойчивого кластера для биллинговой системы на базе Gentoo


0

0

Опубликована статья, в которой рассматриваются вопросы создания отказоустойчивого кластера для работы с биллинговой системой на базе двух физических серверов.
Использование отказоустойчивого кластера повышает надежность хранения данных и качество предоставляемых услуг, значительно сокращает время простоя и позволяет производить профилактику и ремонт серверов без перерывов в предоставлении услуг. Для создания кластера не требуется дополнительных аппаратных средств, что делает такое решение доступным всем. В качестве операционной системы используется Gentoo Linux. База данных MySQL.

>>> Подробности



Проверено: Shaman007 ()

<i>В случае если по какой-то причине произошел сбой связи между серверами и в один момент времени оба сервера перешли в режим &#171;ведущего&#187;, может произойти ситуация когда данные на синхронизируемом разделе будут отличаться между серверами. Данная ситуация называется &#171;расщепление разума&#187; (&#171;split-brain&#187;). В этом случае администратор в ручном режиме должен произвести действия по разрешению этого конфликта.</i>

спасибо, не надо

anonymous
()

>База данных MySQL.

Биллинг на MySQL? Да, круто.

anonymous
()

Биллинг на Gentoo? База биллинга в MySQL? ААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААААА

anonymous
()

imho уж лучше mysql-ный NDB кластер делать, чем mysql-ные базы на drdb "диске" размещать. все-таки нативное средство. и сервисы все время держать запущенными на резервном сервачке, предварительно проверив, что они на * биндятся, а не на конкретный адрес.

anonymous
()

даже не смешно aka kodeks

anonymous
()

Лапухоиды совем разучились думать бу-га-га биллинговая система на mysql...

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

Я на базе heartbeat и пары серверов с Mysql попробовал поднять что-то типа кластера с multimaster-репликацией всех баз - вроде как неплохо получилось: сервера одновременно являются и master и slave друг для друга.
Не понадобились ни Shared Storage, ни NDB, ни DRDB :) И что самое приятное - все прекрасно работает.

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

Просто интересно, чем плох MySQL? Может кто-ть по-человечески объяснить? Он чего сильно нестабильный или не держит достаточно больших баз для биллинга?

anonymous
()

А нельзя ли Шлакварь + текстовый файл (вместо МуСКЛя)?
Прям па филосовии ЮНИКС - делай типа проще.
И зачем сдублированный ? Шлакварь абсолютно надежен 99,99% uptime
- гарантировано Патриком.

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

да выпендривается народ просто понты пальцы

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

да ничем... просто недомеркизаюзавшие постгрес не знают как ещё доказать свою невъе^Wкрутость. пусть орут, только когда будет уже поздно, они поймут, что их никто не слышал.

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

в данном случае мускуль не причём, жопой выступает говнобиллинг от нетапа...

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

> Просто интересно, чем плох MySQL? Ничем не плох - отлично вписывается в сегмент для поддержки небольших баз данных. Ну не будешь ведь ставить oracle для пары базешек в пару гиг общим объемом, особенно если тебе кроме таблиц ничего от СУБД не надо? А вот если надо что-то посерьезней - по опыту эксплуатации 4-ки могу сказать что на таблицах объемом в пару десятков миллионов записей - Mysql ведет себя намного более вяло чем тот же oracle.

Кроме того, дорогие коммерческие системы -- это уже не просто СУБД, а платформа на которой строятся enterprise уровня решения. Хотя конечно можно и на Mysql сделать тоже самое, только сил придется больше потратить, а в итоге еще и дороже может получиться.

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

>А нельзя ли Шлакварь + текстовый файл (вместо МуСКЛя)? >Прям па филосовии ЮНИКС - делай типа проще. >И зачем сдублированный ? Шлакварь абсолютно надежен 99,99% uptime - гарантировано Патриком.

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

volodja
()

>Создание отказоустойчивого кластера для биллинговой системы на базе Gentoo

Gentoo + cluster + отказоустойчивый - понятия несовместимые принципиально.

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

Да что так на MySQL накинулись-то... Если это не биллинг какого-то МегаТелекома - то вполне подойдёт. И даже скажу - подходит.

А статья - так себе. На хавту не тянет, но для "посмотреть как кто сделал и сделать по своему" - вполне подходит. Как и мыскль :)

А еще - причем тут джента?

:ж)

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

>А еще - причем тут джента?

При том, что emerge =)

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

>хотя бы необходимость держать отдельный билдхост. или есть идиоты, ставящие компилер на сервер?

Ну, так-то разве... Опять же, сервер - он разный бывает. На мелком сервере, где крутится биллинг на мыскле - и компилер не помеха... Билдхостом может быть и собственный десктоп, к примеру...

Так что не аргумент - понятия получаются совместимые, хотя и с натяжкой.

:ж)

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

Лол. А зачем у моего провайдера ~50000 клиентов и всё в плэйн текст. Если что и зазбоит то только мозг у админа

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

Тоже хорошо... При правильном /dev/brain выбор типа mysql/pgsql или Gentoo/RHEL или (о, ужас, ужас!!!) linux/windows становится делом вкуса и религиозных предпочтений. А тут ведь было утверждение о полной непригодности связки gentoo+cluster+billing....

:ж)

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

> сдохнет кулер только у лоха, чтобы диск не сыпался придумали RAID1 и daily backups

Мутант, это же биллинг, а не свалка гнилого порно.

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

У меня биллинг на gentoo + mysql работает уже 1,5 года на ~3000 клиентах, и горя с ним не знаю (lanbilling).

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

Ярый пример кластера из всякой фигни - google На то он и кластер ... Несколько десятков тысяч узлов, стоимость каждого пару сотен баксов Только винды там нет почемуто ...

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

>сдохнет кулер только у лоха, чтобы диск не сыпался придумали RAID1 и daily backups

Для не-лохов демон максвелла на пару с мэрфи придумали выход из строя контроллера. А исключительно из чувства юмора незадолго до daily backups.

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

> Только винды там нет почемуто

Потому что венда за 1.5k на машину за 0.2к - не слишком рациональное решение...

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

Вообще-то emerge может работать и с бинарными пакетами, так что можно жить с Gentoo и без компилятора.

anonymous
()

У меня на мускуле и слаке работает биллинг обсчитывающий и тарифицирующий около 50Тб трафика в месяц на 8к клиентов в практически горячем режиме, без сбоев, ошибок и тормозов. Работает с транзакциями и всем и делами. Это крутится на 1 машине с 2Гб памяти. Правда биллинг этот - не нетап. Самый последний купленный нетап, к сожалению, не выдержал и гораздо меньших объемов.

Так что криворукие лемминги, орущие что мускул сакс - не более чем недалекие криворукие лемминги.

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

Ну и чем тебе помешал компилер на серваке? Типа безопасности добавил? А подумать о вероятности взлома правильно настроенного сервера БД не пробовал?

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

> И неустали ещё воровать новости с opennet?

Что, уже все новости с opennet украли? Бе-е-дные, как же они теперь без новостей-та...

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

>тарифицирующий около 50Тб трафика в месяц

Это всего-навсего ОДИН хост с посещаемостью милион-полтора миллиона хитов в день.

Гордиться тем, что на таких объемах работает mySQL... ну как-то неумно, что-ли.

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

>Ну и чем тебе помешал компилер на серваке? Типа безопасности добавил?

Товарисч просто ничего не слышал ни про ACL ни про права доступа. Если слышал, не переживал бы по поводу наличия компилятора на сервере.

Отсутствие компилятора при лоакльны правах доступа как у юзера с шеллом (и тем паче - рута) -- это да, это крутая "защита". Скорее -- заSHITа.

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

>Товарисч просто ничего не слышал ни про ACL ни про права доступа. Если слышал, не переживал бы по поводу наличия компилятора на сервере.

Пионэр, забудь про это. Если chroot нет, а у меня есть sh , то по барабану ACL.

anonymous
()

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

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

Уважаемый, ты когда-нибудь сталкивался с написанием биллинга и требованиям к его работе? Когда надо в горячем режиме посчитать, и протарифицировать каждый байт, да так, чтобы учесть кучу тарифных сеток, кучу услуг, разбить по сеткам, на множество подсеток разные тарифы. Накопительные скидки у каждого юзера свои. Учесть сколько трафика в этом месяце у юзера использовано, сколько осталось, правильно снять, вовремя, и очень быстро отключить, чтобы в минус не ушел, и чтобы все это не дай бог ни на копейку не ошиблось, а то "Вы меня обманываете, подам-ка я на вас в суд". И еще много чего считать и учитывать, о чем ты вероятно и не догадываешься. Плюс постоянно предоставлять исчерпывающую статистику сотням юзеров, жмущим на рефреш. При этом еще в бекграунде генерить детальную статистику посещений по хостам и портам за последний год с разбивкой на минуту.

А тупо посчитать трафик с одного хоста, впрочем как и балаболить на форумах, много ресурсов не надо, хватит и плайн текста.

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

>Товарисч просто ничего не слышал ни про ACL ни про права доступа. Если слышал, не переживал бы по поводу наличия компилятора на сервере.

Да дело даже не в ACL. Доступ к серверу БД должен быть только у сисадмина и админа БД. Плюс к этому не надо быть семи пядей во лбу, чтобы догадаться выключить ненужные сетевые сервисы. И кто потом будет ломать? Девочка Маша из бухгалтерии?

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

>Пионэр, забудь про это. Если chroot нет, а у меня есть sh , то по барабану ACL.

Окей, на выбор: FreeBSD 6.0-STABLE или RedHat EL 4. Все последние патчи накатаны. Дан шелл на машину с правами доступа nobody, компилятор, все файлы заголовков и все статические библиотеки для nobody недоступны. Ваши действия?

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

>важаемый, ты когда-нибудь сталкивался с написанием биллинга и требованиям к его работе?

Я - работал. А вот вы, похоже, нет. Если считаете, что для таких целей, что Вы описали, подходит mysql.

Да, не затруднит ли Вас рассказать общественности, где можно найти Ваше профессиональное резюме и где место Вашей последней работы?

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

>У меня на мускуле и слаке работает биллинг обсчитывающий и тарифицирующий около 50Тб трафика в месяц на 8к клиентов в практически горячем режиме, без сбоев, ошибок и тормозов. Работает с транзакциями и всем и делами. Это крутится на 1 машине с 2Гб памяти. Правда биллинг этот - не нетап. Самый последний купленный нетап, к сожалению, не выдержал и гораздо меньших объемов.

Интересно, у меня тоже около 50 Тб через контору проходит :) Кажется, Вы путаете сбор трафика (предбиллинг) и собственно тарификацию (в т.ч. и хот-биллинг), выставление счетов и т.п. Сделать нормальный полнофункциональный биллинг на базе, не поддерживающей хранимые процедуры (не надо про последние версии - нужна проверенная многолетняя работа!) - МОЖНО, я сам принимал участие в таких проектах, но это идеологически НЕПРАВИЛЬНО и очень неудобно. Кстати, упомянутая база позволяет смотреть в онлайне детализированную статистику по интернет-хостам для любого клиента за последний, например, год? Уточню - при указанных объемах потребует хранения нескольких десятков миллиардов записей в год.. Хотя с использованием других технологий такая задача достаточно просто решается на примерно таком же железе.

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

> У меня на мускуле и слаке работает биллинг обсчитывающий и тарифицирующий около 50Тб трафика в месяц на 8к клиентов в практически горячем режиме, без сбоев, ошибок и тормозов. Работает с транзакциями и всем и делами. Это крутится на 1 машине с 2Гб памяти. Правда биллинг этот - не нетап. Самый последний купленный нетап, к сожалению, не выдержал и гораздо меньших объемов.

а какой у тебя биллинг? ищу в данный момент решение...

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

> Я - работал. А вот вы, похоже, нет. Если считаете, что для таких целей, что Вы описали, подходит mysql. > Да, не затруднит ли Вас рассказать общественности, где можно найти Ваше профессиональное резюме и где место Вашей последней работы?

Мусье, а не затруднит ли Вас привести хоть один аргумент в пользу Ваших голословных утверждений - "Я - работал. А вот вы..." "Оракл рулит. А вот ваш мускул говно..", чем-же он (mysql) так ниподходит для Ваших целвй ??? Вы, наглый Анонимус, только и знаете как гадить в форумах...

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

>Мусье, а не затруднит ли Вас привести хоть один аргумент в пользу Ваших голословных утверждений - "Я - работал. А вот вы..." "Оракл рулит. А вот ваш мускул говно..", чем-же он (mysql) так ниподходит для Ваших целвй ??? Вы, наглый Анонимус, только и знаете как гадить в форумах...

Месье, объясняю. Есть БД, в которой должна храниться статистика по клиентам за 5 лет. В день заносится примерно 90 миллионов записей по примерно 25000 клиентам. Потрудитесь сами умножить 90 * 10^6 * 365 * 5 . И это только статистика, без учета всего остального -- платежей клиентов, регистраций, итд.

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

Если в Вашем ответе не будет хотя бы слов "TRIGGER, CONSTRAINT, STORED PROCEDURE, PARTITIONING", советую сразу начинать разбег до ближайшей стены.

Короче говоря, спор этот пустой. Вы хотите доказать, что СУБД MySQL - круто? Доказывайте. Хотите расказать всем, что бизнес-логику можно не хранить в СУБД, а постоянно писать внешний обвес, желательно на LAMP -- рассказывайте. Вот только биллингом это не называйте -- и все будет зашибись.

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