- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Попалась мне интересная задача, настроить Отказоустойчивый Web сервсер.
Но прочитав условия, понял что не понимаю как это правильно и качественно сделать. Поэтому вынужден был отказаться.
Но появилось желание разобраться в вопросе более детально и научится это делать.
Вот текст задачи:
Имеется потребность наладить работу веб-сервиса, бизнес-приложение, в режиме "доступно 24 часа, 7 дней в неделю". Чтоб не падало вообще, от слова совсем. Конфигурация среды - стандартный lamp, ssl сертификат на безопасное соединение. Производительность аппаратной части вторична, первична стабильность работы.
Веб-Сервис должен продолжать работу в случае если:
1. Упал DNS.
2. Нет электричества в ДЦ.
3. Нет связи в ДЦ.
4. Внезапные профилактические работы у хостера.
Думаю, нужно три недорогие VDS, размещенные в разных дата-центрах, которые будут работать как один web сервер, т.е. падает одна - отвечает другая, совершенно незаметно для пользователя. БД MySQL естественно должна так же работать.
Подскажите, как вы реализуете подобные задачи? Какие технологии и ПО применяете? Какие есть особенности в таких схемах работы?
Может есть толковая инструкция от А до Я по теме, буду благодарен.
saloed, Беру сервера в надёжных датацентрах где риски теракта/наводнения/отключения света, менее 3% и накрываю антиддос фильтром с TTL 5 минут в днс:)
saloed, Беру сервера в надёжных датацентрах где риски теракта/наводнения/отключения света, менее 3% и накрываю антиддос фильтром с TTL 5 минут в днс:)
да, это вы перечислили техногенные риски, они может и малы, а вот другие риски остаются прежними: сбой VPS, человеч. фактор и др.
"накрываю антиддос фильтром с TTL 5 минут в днс" - распишите чуть подробнее, не совсем понял что это? ставите сайт за cloudflare.com ?
haproxy, keepalived, heartbeat, nginx, pecona xtradb cluster, rrDNS,varnish
нужно три недорогие VDS,
Понятно.
Какие есть особенности в таких схемах работы?
Не забыть, что нет такого бизнеса, который не может простаивать.
Может. Особенно если это сайты для Яндекса, который вообще-то никуда не спешит.
haproxy, keepalived, heartbeat, nginx, pecona xtradb cluster, rrDNS,varnish
я так понимаю это общий список возможных технологий и демонов.
А есть список именно готовой рабочей-боевой связки? Например балансир_такой-то+вебсервер+кластерная_mysql_такая-та ?
ну так я выше написал:)
haproxy на двух балансирах балансирует трафик на сколько угодно воркеров.
rrDNS с минимальным TTL имеет две IN A записи в DNS на эти балансиры.
на воркерах PerconaXtraDB Cluster ,на случай если один из воркеров упадет - keepalived заберет его IP-адрес себе...
varnish - кеш. На то время - пока в случае падения все это перестраивается, перекешируется - клиенту отдается кеш.
читать начать можно отсюда.
https://habrahabr.ru/post/152969/
готовая построенная схема с документацией, настройкой, "разжевыванием" всех нюансов - не бесплатно ;)
бесплатно - это почитать про вышеуказанный список демонов. Они все относятся так или иначе к вашей задаче.
haproxy, keepalived, heartbeat, nginx, pecona xtradb cluster, rrDNS,varnish
В отказоустойчивости не силен, поправьте если ошибаюсь, но как-то сильно много умных слов. :)
"haproxy, nginx, varnish" - nginx может быть и балансером и кешем. Зачем этот винегрет?
"keepalived, heartbeat" - как я понимаю это работает только в одной подсети, т.е. разнести на несколько ДЦ геморой еще тот будет.
"haproxy, nginx, varnish" - nginx может быть и балансером и кешем. Зачем этот винегрет?
балансером - да, но не таким конфигурабельным - как haproxy, не знаю, кстати - балансирует ли он tcp ?
кеш - тоже самое, не таким навороченным как varnish.
"keepalived, heartbeat" - как я понимаю это работает только в одной подсети, т.е. разнести на несколько ДЦ геморой еще тот будет.
Да, правы, поэтому пока копия одной инфраструктуры поднимается в другом ДЦ - есть кеш. Хотя внешние ip-адреса можно таскать из в ДЦ в ДЦ.
вообще лучше качественно выбрать ДЦ один раз, чем городить такие костыли.
балансером - да, но не таким конфигурабельным - как haproxy, не знаю, кстати - балансирует ли он tcp ?
уже научился... начиная с версии nginx 1.9 (я не тестировал)
статья на хабре: https://habrahabr.ru/post/271467/
вопрос: а на чем проще всего соорудить GeoDNS?
т.е. в зависимости от IP/сети или страны возвращать разные значения для A-записи. нагрузка будет минимальна.
по поиску нашел варианты: powerdns, bind(с патчем/без?), какие-то самописы.
"keepalived, heartbeat" - как я понимаю это работает только в одной подсети, т.е. разнести на несколько ДЦ геморой еще тот будет.
в чем гемморой? ВПН?
судя по схеме, то это возможно