Отказоустойчивый Web сервсер

12 3
S
На сайте с 07.03.2013
Offline
56
2272

Попалась мне интересная задача, настроить Отказоустойчивый Web сервсер.

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

Но появилось желание разобраться в вопросе более детально и научится это делать.

Вот текст задачи:

Имеется потребность наладить работу веб-сервиса, бизнес-приложение, в режиме "доступно 24 часа, 7 дней в неделю". Чтоб не падало вообще, от слова совсем. Конфигурация среды - стандартный lamp, ssl сертификат на безопасное соединение. Производительность аппаратной части вторична, первична стабильность работы.

Веб-Сервис должен продолжать работу в случае если:

1. Упал DNS.

2. Нет электричества в ДЦ.

3. Нет связи в ДЦ.

4. Внезапные профилактические работы у хостера.

Думаю, нужно три недорогие VDS, размещенные в разных дата-центрах, которые будут работать как один web сервер, т.е. падает одна - отвечает другая, совершенно незаметно для пользователя. БД MySQL естественно должна так же работать.

Подскажите, как вы реализуете подобные задачи? Какие технологии и ПО применяете? Какие есть особенности в таких схемах работы?

Может есть толковая инструкция от А до Я по теме, буду благодарен.

kxk
На сайте с 30.01.2005
Offline
970
kxk
#1

saloed, Беру сервера в надёжных датацентрах где риски теракта/наводнения/отключения света, менее 3% и накрываю антиддос фильтром с TTL 5 минут в днс:)

Ваш DEVOPS
S
На сайте с 07.03.2013
Offline
56
#2
kxk:
saloed, Беру сервера в надёжных датацентрах где риски теракта/наводнения/отключения света, менее 3% и накрываю антиддос фильтром с TTL 5 минут в днс:)

да, это вы перечислили техногенные риски, они может и малы, а вот другие риски остаются прежними: сбой VPS, человеч. фактор и др.

"накрываю антиддос фильтром с TTL 5 минут в днс" - распишите чуть подробнее, не совсем понял что это? ставите сайт за cloudflare.com ?

pupseg
На сайте с 14.05.2010
Offline
347
#3

haproxy, keepalived, heartbeat, nginx, pecona xtradb cluster, rrDNS,varnish

Качественная помощь в обслуживании серверов. (/ru/forum/661100) Бесплатных консультаций не даю, не помогаю, не обучаю. Минималка от 100$. Как пропатчить KDE-просьба не спрашивать. Есть форумы (http://linux.org.ru) и полезные сайты (http://www.opennet.ru/).
N
На сайте с 06.05.2007
Offline
419
#4
saloed:
нужно три недорогие VDS,

Понятно.

saloed:
Какие есть особенности в таких схемах работы?

Не забыть, что нет такого бизнеса, который не может простаивать.

Может. Особенно если это сайты для Яндекса, который вообще-то никуда не спешит.

Кнопка вызова админа ()
S
На сайте с 07.03.2013
Offline
56
#5
pupseg:
haproxy, keepalived, heartbeat, nginx, pecona xtradb cluster, rrDNS,varnish

я так понимаю это общий список возможных технологий и демонов.

А есть список именно готовой рабочей-боевой связки? Например балансир_такой-то+вебсервер+кластерная_mysql_такая-та ?

pupseg
На сайте с 14.05.2010
Offline
347
#6

ну так я выше написал:)

haproxy на двух балансирах балансирует трафик на сколько угодно воркеров.

rrDNS с минимальным TTL имеет две IN A записи в DNS на эти балансиры.

на воркерах PerconaXtraDB Cluster ,на случай если один из воркеров упадет - keepalived заберет его IP-адрес себе...

varnish - кеш. На то время - пока в случае падения все это перестраивается, перекешируется - клиенту отдается кеш.

читать начать можно отсюда.

https://habrahabr.ru/post/152969/

готовая построенная схема с документацией, настройкой, "разжевыванием" всех нюансов - не бесплатно ;)

бесплатно - это почитать про вышеуказанный список демонов. Они все относятся так или иначе к вашей задаче.

PA
На сайте с 12.02.2016
Offline
24
#7
pupseg:
haproxy, keepalived, heartbeat, nginx, pecona xtradb cluster, rrDNS,varnish

В отказоустойчивости не силен, поправьте если ошибаюсь, но как-то сильно много умных слов. :)

"haproxy, nginx, varnish" - nginx может быть и балансером и кешем. Зачем этот винегрет?

"keepalived, heartbeat" - как я понимаю это работает только в одной подсети, т.е. разнести на несколько ДЦ геморой еще тот будет.

. . .
pupseg
На сайте с 14.05.2010
Offline
347
#8
ps axf:
"haproxy, nginx, varnish" - nginx может быть и балансером и кешем. Зачем этот винегрет?

балансером - да, но не таким конфигурабельным - как haproxy, не знаю, кстати - балансирует ли он tcp ?

кеш - тоже самое, не таким навороченным как varnish.

ps axf:
"keepalived, heartbeat" - как я понимаю это работает только в одной подсети, т.е. разнести на несколько ДЦ геморой еще тот будет.

Да, правы, поэтому пока копия одной инфраструктуры поднимается в другом ДЦ - есть кеш. Хотя внешние ip-адреса можно таскать из в ДЦ в ДЦ.

вообще лучше качественно выбрать ДЦ один раз, чем городить такие костыли.

PA
На сайте с 12.02.2016
Offline
24
#9
pupseg:
балансером - да, но не таким конфигурабельным - как haproxy, не знаю, кстати - балансирует ли он tcp ?

уже научился... начиная с версии nginx 1.9 (я не тестировал)

статья на хабре: https://habrahabr.ru/post/271467/

вопрос: а на чем проще всего соорудить GeoDNS?

т.е. в зависимости от IP/сети или страны возвращать разные значения для A-записи. нагрузка будет минимальна.

по поиску нашел варианты: powerdns, bind(с патчем/без?), какие-то самописы.

S
На сайте с 07.03.2013
Offline
56
#10
ps axf:
"keepalived, heartbeat" - как я понимаю это работает только в одной подсети, т.е. разнести на несколько ДЦ геморой еще тот будет.

в чем гемморой? ВПН?

судя по схеме, то это возможно

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий