отказоустойчивый кластер на nginx
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
отказоустойчивый кластер на nginx
На данный момент реализована схема отказоустойчивости на 3х виндовых серверах, где стоит NLB, на каждом сервер nginx, да-да, под виндой
Собрал два сервер с фрей и nginx, сделал polling, выкинул все лишнее из ядра.
Теперь необходимо сделать так, чтобы при отказе одного из серверов nginx, другой заменял упавший.
Есть два варианта:
1) Два сервера с фрей имеют один IP адрес
2) Сервера имеют разные IP, но они друг друга мониторят, если ведущий падает, то второй поднимает у себя интерфейс с IP упавшего сервера.
Второй вариант реализуется с помощью heartbeat
Хотел бы услышать ваши мысли, какой из вариантов кошерней.
Собрал два сервер с фрей и nginx, сделал polling, выкинул все лишнее из ядра.
Теперь необходимо сделать так, чтобы при отказе одного из серверов nginx, другой заменял упавший.
Есть два варианта:
1) Два сервера с фрей имеют один IP адрес
2) Сервера имеют разные IP, но они друг друга мониторят, если ведущий падает, то второй поднимает у себя интерфейс с IP упавшего сервера.
Второй вариант реализуется с помощью heartbeat
Хотел бы услышать ваши мысли, какой из вариантов кошерней.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
Re: отказоустойчивый кластер на nginx
да нах мне сторадж?
Мне нужен nginx
Но я уже поднял heartbeat, скоро будет статейка
Мне нужен nginx
Но я уже поднял heartbeat, скоро будет статейка
- tynix
- сержант
- Сообщения: 246
- Зарегистрирован: 2008-08-06 8:25:42
- Откуда: Красноярск
Re: отказоустойчивый кластер на nginx
А relayd из опенбсд не пробовал? Кажется, как раз для такого придуман. Живёт в портах.
Don' t panic !
cd /usr/ports && make srach
make: don't know how to make srach. Stop
cd /usr/ports && make srach
make: don't know how to make srach. Stop
-
- мл. сержант
- Сообщения: 75
- Зарегистрирован: 2009-07-02 15:33:24
Re: отказоустойчивый кластер на nginx
Сколько с нгинхом общался - он никогда просто так не падает. Апач за ним - частенько, да. А он сам крепко стоит.manefesto писал(а):На данный момент реализована схема отказоустойчивости на 3х виндовых серверах, где стоит NLB, на каждом сервер nginx, да-да, под виндой
Собрал два сервер с фрей и nginx, сделал polling, выкинул все лишнее из ядра.
Теперь необходимо сделать так, чтобы при отказе одного из серверов nginx, другой заменял упавший.
А для отказоустойчивости у меня на 1 имя в днс прописано 2 айпи, там нгинхи, на обоих один конфиг с upstream и второй нгинх прозрачно проксит всё на первый, пока тот жив, потом на свой бэкенд.
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
Re: отказоустойчивый кластер на nginx
на ВИНДЕ он не может держать больше 1024 коннектов, сейчас на фре с upstream.
Но мне кажется не хватит одного сервера с nginx, хочеться раскидывать на два
Но мне кажется не хватит одного сервера с nginx, хочеться раскидывать на два
- Mox
- лейтенант
- Сообщения: 757
- Зарегистрирован: 2008-12-16 16:04:14
- Откуда: питер
- Контактная информация:
Re: отказоустойчивый кластер на nginx
man carp?
"В мире программирования алгоритмы становятся более важными, чем код, и именно из-за академических корней в BSD изначально большое внимание уделялось проработке алгоритмов". Мэтт Диллон
-
- мл. сержант
- Сообщения: 75
- Зарегистрирован: 2009-07-02 15:33:24
Re: отказоустойчивый кластер на nginx
Зачем?Mox писал(а):man carp?
Чем это лучше чем 2 сервера и 2 айпи? Отказ одного айпи - браузер проверяет 20 сек, потом сам стучит на второй, пару недель назад проверяли все современные браузеры. Плюс сервера могут стоять хоть в разных странах. Хотя можно и поизвращаться, да..
- Mox
- лейтенант
- Сообщения: 757
- Зарегистрирован: 2008-12-16 16:04:14
- Откуда: питер
- Контактная информация:
Re: отказоустойчивый кластер на nginx
Могу точно такой же вопрос задать и вамplaynet писал(а):Зачем?Mox писал(а):man carp?
"В мире программирования алгоритмы становятся более важными, чем код, и именно из-за академических корней в BSD изначально большое внимание уделялось проработке алгоритмов". Мэтт Диллон
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
Re: отказоустойчивый кластер на nginx
хочу балансировать нагрузку между двумя серверами, при этом иметь один IP
к сожалению имеющееся оборудование не умеет само балансировать.
Dlink df 1600
к сожалению имеющееся оборудование не умеет само балансировать.
Dlink df 1600
-
- мл. сержант
- Сообщения: 75
- Зарегистрирован: 2009-07-02 15:33:24
Re: отказоустойчивый кластер на nginx
Чем карп в общем лучше, чем моё решение? А если сам карп упадёт? И насколько я знаю, работает он только, если сервера в одном дц с локалкой между собой.Mox писал(а):Могу точно такой же вопрос задать и вамplaynet писал(а):Зачем?Mox писал(а):man carp?
Последний раз редактировалось playnet 2012-04-13 12:11:24, всего редактировалось 1 раз.
-
- мл. сержант
- Сообщения: 75
- Зарегистрирован: 2009-07-02 15:33:24
Re: отказоустойчивый кластер на nginx
Оборудование, которое само балансировать умеет, стоит дорого. Варианты - поставить железку типа линксиса, куда можно натянуть *-wrt, или старый комп с линем, и там будет честный nginx без проблем на коннекты. Можно попробовать текущий длинк перешить. Или поставить комп за д-линк, а на длинке проброс порта.manefesto писал(а):хочу балансировать нагрузку между двумя серверами, при этом иметь один IP
к сожалению имеющееся оборудование не умеет само балансировать.
Dlink df 1600
В любом случае должен быть какой-то линух, который на себе поднимет нгинх.
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Re: отказоустойчивый кластер на nginx
Тем, что не будет большой задержки.Чем карп в общем лучше, чем моё решение?
Не обязательно.В любом случае должен быть какой-то линух, который на себе поднимет нгинх.
Это может быть FreeBSD, QNX и т.п. - вариантов вагон.
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: отказоустойчивый кластер на nginx
а поллинг зачем?manefesto писал(а): Собрал два сервер с фрей и nginx, сделал polling, выкинул все лишнее из ядра.
взять ipvs и не страдать ерундой. как вариант, можно нарисовать свои костыли на nginx с хранением адресов апстрима в memcached.manefesto писал(а): Теперь необходимо сделать так, чтобы при отказе одного из серверов nginx, другой заменял упавший.
Есть два варианта:
1) Два сервера с фрей имеют один IP адрес
2) Сервера имеют разные IP, но они друг друга мониторят, если ведущий падает, то второй поднимает у себя интерфейс с IP упавшего сервера.
Второй вариант реализуется с помощью heartbeat
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
Re: отказоустойчивый кластер на nginx
у....какие все умные, при количестве коннектов в онлайне порядка 3К, вы мне предлагаете ставить системник с линем, фряхой ?
В своем уме ?
Мне нужно чтобы два сервака с nginx имели один логический IP, то есть мне нужна отказоустойчивость.
То есть надо чтото вроде транка.
Без железки никак, поэтому использую heartbeat
В своем уме ?
Мне нужно чтобы два сервака с nginx имели один логический IP, то есть мне нужна отказоустойчивость.
То есть надо чтото вроде транка.
Без железки никак, поэтому использую heartbeat
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Re: отказоустойчивый кластер на nginx
Разве CARP не аналогично работает?heartbeat
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
Re: отказоустойчивый кластер на nginx
heartbeat умеет еще и мониторить сервисы.
Хм, а с помощью carp можно балансировать нагрузку по хостам ?
Хм, а с помощью carp можно балансировать нагрузку по хостам ?
-
- лейтенант
- Сообщения: 751
- Зарегистрирован: 2008-07-15 16:11:11
Re: отказоустойчивый кластер на nginx
Затрудняюсь ответить - самому интересно что лучше использовать.
В heartbeat отпугивает установка дополнительного софта.
В heartbeat отпугивает установка дополнительного софта.
- Mox
- лейтенант
- Сообщения: 757
- Зарегистрирован: 2008-12-16 16:04:14
- Откуда: питер
- Контактная информация:
Re: отказоустойчивый кластер на nginx
В 10-ке новый карп, и там сейчас только отказоустойчивость. Изначально glebius@ (автор) планировал добавить arp и ip балансировку, но сейчас уже эти фичи висят в идеях для GSoC.manefesto писал(а):heartbeat умеет еще и мониторить сервисы.
Хм, а с помощью carp можно балансировать нагрузку по хостам ?
В стабильных вертках карп пока умеет отказоустойчивость и arp балансировку. Но это не балансировка "нагрузки".
"В мире программирования алгоритмы становятся более важными, чем код, и именно из-за академических корней в BSD изначально большое внимание уделялось проработке алгоритмов". Мэтт Диллон
-
- мл. сержант
- Сообщения: 75
- Зарегистрирован: 2009-07-02 15:33:24
Re: отказоустойчивый кластер на nginx
Да. У меня нгинх показывает на некоторых проектах 2-3к active connections, при том, что машинки там слабые. Тестили под один проект осенью связку из нескольких серверов, на входе нгинх, час лоадимпактом гоняли на 10к активах, работало за-ши-бись. И?manefesto писал(а):у....какие все умные, при количестве коннектов в онлайне порядка 3К, вы мне предлагаете ставить системник с линем, фряхой ?
К слову, у рамблера сильно больше 10к актива на каждый фронтэнд.
Мы - да. И у нас работает. Как будет у вас - не представляю.В своем уме ?
С 1 айпи? А AS получена? Несколько физических линков от разных провов, правильно настроен BGP? Иначе про отказоустойчивость можно забыть, имхо. Или брать несколько айпи и см выше, как у меня на ряде серверов.Мне нужно чтобы два сервака с nginx имели один логический IP, то есть мне нужна отказоустойчивость.
"железка" тут тогда должна быть спец циска, заточенная именно под роли фронтэнда. Модели не скажу, мы софтово решили.Без железки никак, поэтому использую heartbeat
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
Re: отказоустойчивый кластер на nginx
Сейчас nginx вообще на винде стоит,ограничение на 1 воркер и 1024 коннекта.
Именно виндой все и усугубляется.попробую сделать связку carp+pf balancing
Именно виндой все и усугубляется.попробую сделать связку carp+pf balancing
-
- мл. сержант
- Сообщения: 75
- Зарегистрирован: 2009-07-02 15:33:24
Re: отказоустойчивый кластер на nginx
На винде, ага.. ))manefesto писал(а):Сейчас nginx вообще на винде стоит,ограничение на 1 воркер и 1024 коннекта.
Именно виндой все и усугубляется.попробую сделать связку carp+pf balancing
А если ставить никсы - там нгинх хорошо работать будет.
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
Re: отказоустойчивый кластер на nginx
вообщем плюнул я на heartbeat. поднял carp, все довольны, как бы еще pf balancing прикрутить
- dekloper
- ст. лейтенант
- Сообщения: 1331
- Зарегистрирован: 2008-02-24 15:43:19
- Откуда: давно здесь сидим..
- Контактная информация:
Re: отказоустойчивый кластер на nginx
ага, новыйMox писал(а):manefesto писал(а): В 10-ке новый карп, и там сейчас только отказоустойчивость.
тока не работает ничо..
ТОВАгИЩИ! БгАТЬЯ И СЕСТгЫ! ДОЛОЙ гАВНОДУШИЕ!