Jump to content
Калькуляторы

Дублирование дата-центров

Ни один дата центр не сможет дать 100% гарантии отказоустойчивости.

Есть сайт электронного СМИ.

Как в общих чертах настроить единую систему, распределённую на N дата центров.

В каждом дата-центре одна нода

На ней поднят Web сервер,БД,DNS,mail

С базой данных понятно… master-(N-1)slave.На мастере обновляются статьи и синхронизируются на slave.

DNSы держат файл зоны основного домена.

У почты понятно…. MX записями можно приоритеты настроить…

А вот как с A записью ?

Указывать N штук IP для WWW от каждого дата центра?

Или указывать один виртуальный IP и делать как то распределённый Load balancing на N дата центров?

Если такое возможно, то в какую сторону капать?

Или как то нужно использовать BGP, PI, AS?

Какую схему используют гиганты интернета (Google,Microsoft и тд )что бы функционировала их распределённая система?

Share this post


Link to post
Share on other sites

Гугл свою структуру полностью не раскрывает, известны только принципы технологий. Есть A-записи на балансировщики, которые уже раскидывают по web-серверам. А к ним цепляются уже другие сервера, которые перепахивают запросы по распределенной базе данных. Это касательно самого поисковика, но все остальное по идее на той же базе.

Впрочем на гугл ориентироваться глупо: у них свой очень специализированный софт, свое железо (не только сервера, но даже и роутеры и свитчи), а архитектура спроектирована под огромные кучи серверов.

Общий принцип обычно это распределенные ФС и балансировка по днс. Дальше уже кто во что горазд.

Share this post


Link to post
Share on other sites

Ни один дата центр не сможет дать 100% гарантии отказоустойчивости.

Есть сайт электронного СМИ.

Как в общих чертах настроить единую систему, распределённую на N дата центров.

В каждом дата-центре одна нода

На ней поднят Web сервер,БД,DNS,mail

С базой данных понятно… master-(N-1)slave.На мастере обновляются статьи и синхронизируются на slave.

DNSы держат файл зоны основного домена.

У почты понятно…. MX записями можно приоритеты настроить…

А вот как с A записью ?

Указывать N штук IP для WWW от каждого дата центра?

Или указывать один виртуальный IP и делать как то распределённый Load balancing на N дата центров?

Если такое возможно, то в какую сторону капать?

Или как то нужно использовать BGP, PI, AS?

Какую схему используют гиганты интернета (Google,Microsoft и тд )что бы функционировала их распределённая система?

Я думаю, вы и сами неоднократно видели на некоторых сайтах, при недоступности слово "nginx".

Это сейчас один популярных методов балансировки высоконагруженных ВЕБ ресурсов.

 

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

Cisco, например, выступает за "растягивание" L2 через L3 и далее решения на базе виртуализации, но это работает для больших систем, и при наличии своей инфраструктуры.

Можно воспользоваться механизами маршрутизации, так тоже работает.

Share this post


Link to post
Share on other sites

1. anycast DNS

2. DNS view

3. мастер и админку не обязательно держать в этих ДЦ, но если там есть "обратная связь" аля коментов, просмотров, баннерных показов итд - то придется городить огород.

4. через бгп и аникаст можно препендами балансировать нагрузку на ДЦ.

 

вообщем тут нормальная аналитика на несколько страниц начинающяя с ТЗ, по которому разрисован функционал сервисов а только потом разрисовывание чего нужно делать.

 

и сколько это будет стоить)

 

велкам)

Share this post


Link to post
Share on other sites

есть опыт постройки таковых.

огласите бюджет проекта тогда станут понятны подходящие методы.

 

 

Ни один дата центр не сможет дать 100% гарантии отказоустойчивости.

Есть сайт электронного СМИ.

Как в общих чертах настроить единую систему, распределённую на N дата центров.

В каждом дата-центре одна нода

На ней поднят Web сервер,БД,DNS,mail

С базой данных понятно… master-(N-1)slave.На мастере обновляются статьи и синхронизируются на slave.

DNSы держат файл зоны основного домена.

У почты понятно…. MX записями можно приоритеты настроить…

А вот как с A записью ?

Указывать N штук IP для WWW от каждого дата центра?

Или указывать один виртуальный IP и делать как то распределённый Load balancing на N дата центров?

Если такое возможно, то в какую сторону капать?

Или как то нужно использовать BGP, PI, AS?

Какую схему используют гиганты интернета (Google,Microsoft и тд )что бы функционировала их распределённая система?

Share this post


Link to post
Share on other sites

Идите к любому оператору CDN, он Вам все расскажет.

Share this post


Link to post
Share on other sites

ИМХО если задача без балансировки, просто отказоустойчивость - BGP

Если задача с балансировкой - то чуть сложнее. DNS и прочие stateless протоколы anycast, а вот с TCP уже по geoip, нагрузке, маршруту пришедшего пакета разбрасывать, ну и в случае отказа выносим IP из DNS, разойдется быстро, у крупных ресурсов A записи с небольшим временем жизни.

Share this post


Link to post
Share on other sites

Идите к любому оператору CDN, он Вам все расскажет.

и научит как построить "активный" сервис) а не просто запроксировать статику?)

 

бюджет не понятен - да)

Share this post


Link to post
Share on other sites

а вот с TCP уже по geoip, нагрузке, маршруту пришедшего пакета разбрасывать
разбрасывать откуда - из единой точки отказа?

Share this post


Link to post
Share on other sites

Идите к любому оператору CDN, он Вам все расскажет.

и научит как построить "активный" сервис) а не просто запроксировать статику?)

 

бюджет не понятен - да)

По секрету: отдача контента - тоже активный сервис ;-)

Share this post


Link to post
Share on other sites

тоже активный сервис ;-)

я специально взял в кавычки же.

под "активным" я понимал - что данные идут в оба ДЦ(причем от пользователей), их нужно обрабатывать и реплицировать между собой.

опять таки, сможет ли оставшийся в живых ДЦ выдержать 2х нагрузку) в случае...

 

а отдача и репликация статики - это достаточно тривиальная задача.

решают же ее всякие вконтактики да акамаи)

Share this post


Link to post
Share on other sites

Тсс... Акамай ещё статистику в онлайне даёт ;-)

 

В общем, CDN в лоб не совсем то, но сами хозяева CDN эту задачу тоже решают, - для себя.

Share this post


Link to post
Share on other sites

ну опять таки

они контролируют генерацию этой статистики)

ее можно посчитать на месте, если она подлагает какое-то время - то ничего страшного не случиться)

 

можем продолжить в паблике рассуждения на предмет ДЦ их реплик, балансинга и прочего)

но начать может с базы?) кто за пределами МКАДа дает 10Г?)

Share this post


Link to post
Share on other sites

ну опять таки

они контролируют генерацию этой статистики)

ее можно посчитать на месте, если она подлагает какое-то время - то ничего страшного не случиться)

Ой, друг, ты очень сильно заблуждаешься! От этой статистики играет онлайн-реклама, поэтому данные нужны в "мягком риалтайме". Поэтому вынь-да-положь живой поток, и не забудь отсортировать по юзер-профайл. Это что касается софтверно- и фильмо-ориентированных CDN. Иной раз вовремя вброшенный в ротацию баннер даёт миллионы баксов "вот прям ща".

Share this post


Link to post
Share on other sites

А зачем новостному сайту 10Г нужно, можно поинтересоваться ?

видео раздавать например. всякая "жарёха" может не одну десятку за пару минут после грамотного вброса по всяким контактикам-жж захавать.

 

Ой, друг, ты очень сильно заблуждаешься! От этой статистики играет онлайн-реклама

 

секундочку!

мы говорим о цдн-е как доставке медиа-контента?

или говорим о баннерке?)

или говорим о генерации контента?)

 

баннерка имеет не так уж и много параметров

и задача в максимуме выводится на вывод одного юзера на один хост с баннеркой)

где вся математика уже посчитана и в памяти. это если мы говорим о лимитах показа баннера на лицо.

общий же срез что показывать юзерам с каким-то профилем заранее известен)

 

баннерку можно привлечь и стороннюю.

 

пре и пост роллы тоже сюда включены. там не всё так страшно) и скорости не нужны. ну покажется на 10-20к больше какойто баннер - не критично)

Edited by karpa13a

Share this post


Link to post
Share on other sites

Ой, друг, ты очень сильно заблуждаешься! От этой статистики играет онлайн-реклама

 

секундочку!

мы говорим о цдн-е как доставке медиа-контента?

или говорим о баннерке?)

или говорим о генерации контента?)

Напоминаю фразу: Тсс... Акамай ещё статистику в онлайне даёт ;-)

Share this post


Link to post
Share on other sites

А зачем новостному сайту 10Г нужно, можно поинтересоваться ?

видео раздавать например. всякая "жарёха" может не одну десятку за пару минут после грамотного вброса по всяким контактикам-жж захавать.

 

 

Ну 10 гиг забить это надо таки быть очень толстым новостным сайтом. Чай не рутуб. Если речь идет о раздаче видео в 10г то прямая дорога в СДНы под то видео.

А статистика нужна новостникам как хлеб. Я новостных сайтов без рекламы неприпомню. Это деньги их.

Share this post


Link to post
Share on other sites

Если речь идет о раздаче видео в 10г то прямая дорога в СДНы под то видео.

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

можно да - выпинывать в цдн попсу, а потом выпинывать ее из цдн-а по сроку или по порогу и раздавать самостоятельно.

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

 

рекламную площадку можно сдать за фиксу и не морочить себя головняками с разработкой-поддержкой и прочими продажами какомунить адриверу)

 

так что опять таки) бюджет не озвучен)

 

как пример - один из кэшеров. 300 там бывает через день. 500 в неделю-две. полка бывает.

новые киношки можете поискать сами)

 

а еще бывают онлайновые трансляции каких-то конференций или событий. там если 10к юзеров придет посмотреть мегабитный поток то аллес. десятка ушла)

if_eth0-day.png

Edited by karpa13a

Share this post


Link to post
Share on other sites

Какие киношки на электронной газете ? (второе предложение в 1 посте). Максимум короткие ролики, которые на некрупном СМИ вообще можно на ру/ю тубы слить. (а сми успевшие переехать в разряд "крупные" все уже обычно имеют, и таких вопросов уже не задают)

 

Я бы начал с допроса разработчиков, на предмет как они базу пользуют, если отдающие контент сервера ходят в базу только по чтению, то теоретически их можно цеплять на слейвы и эти слейвы разносить хоть в 3000 разных датацентров. Код синкать, он не должен меняться часто. Статику (картинки тама всяие) синкать пофайлово туда же (ну или NGINXить в датастор). В DNS по 1-2-3-4 IP с каждого датацентра и будет счастье. Внутри датацентра несколько генерирующих серверов,между ними или DNS или же сем балансировать, можно nginx/haproxy, можно аппаратным балансировщиком по IP, просто в DNS очень много IP пихать не очень верное решение. Если датацентр вылетел, то выносить его из DNSа. (TTL не задирать, чтобы быстрее разлетелось.) Если на запись база нужна, то смотреть как оно там дальше поедет. Может выносить трепалки-обсуждалки на отдельные имена и их хранить в 1 датацентре, а сами новости отдавать с разных, тогда при полегании главного датацентра новости будут показываться, а без потрепаться народ немного потерпит. Причем оно может быть и на странице с новостью, но по таймауту от сервера ответственного за потрепаться, генерящий страничку сервер воткнет туда пустой дивчик. Но без анализа кода со стороны разработчиков очень не ясно какие там особенности. ну а дальше уже смотреть. Можно DNS делать с геотаргетингом, можно тяжелый контент раздавать через третий CDN.. но если софт не сможет распределить генерирующий страничку процесс по разным машинам (ну мали как там его написали) то ой. максимум разнести кеширующие nginxы по площадкам, но все равно при полегании основного ничего толком работать не будет.

Share this post


Link to post
Share on other sites

Вот это видео можно посмотреть.

http://events.yandex.ru/talks/329/

Да видео то, что нужно... Давно хотел узнать, как у Яндекса всё вертеться...

Буду копать в сторону Linux IPVS

 

Mail.ru тоже эту же технологию использует

http://techforum.mail.ru/report/38

Тут видео, где они более подробнее, чем Яндекс про неё рассказывают...

Share this post


Link to post
Share on other sites

разбрасывать откуда - из единой точки отказа?

Примари сервис реплицирует данные на секондари сервис.

Репликация файлов и БД - тривиальная задача для студента. Немного сложнее, перегнать апдейты с резерва на основной сервис, при восстановлении основного.

Еще упоминали онлайн-вещание, в случае переключения BGP займет некоторое время на реконнект, либо же сразу с точки вещания отдавать двойным потоком, на резерв тоже, если обрыв в секунд 30-60 неприемлем.

Share this post


Link to post
Share on other sites

Репликация файлов и БД - тривиальная задача для студента.

не на столько как кажется(

 

файло реплицировать при недоступности удаленной точки - то еще удовольствие. рекомендую это попробовать учесть.

опять таки - "груз наследия" в виде кода не всегда позволяет mv(s,t) заменить на чтото другое.

 

реплика в одну сторону - да - иногда даже работает)

 

хотя вот тут предлагают за $120к избавиться от головняка за 10Тб места (два комплекта железа+софт). доступ - http/dav или nfs/cifs на месте, активная реплика в обе стороны.

Share this post


Link to post
Share on other sites

и научит как построить "активный" сервис) а не просто запроксировать статику?)

Технологии CDN уже давно не сервера со статическим контентом, раскиданные по географии. Это именно что прокачка в реальном времени по сети узлов CND динамического контента, причем не всего, а оптимизируя по востребованности.

 

под "активным" я понимал - что данные идут в оба ДЦ(причем от пользователей), их нужно обрабатывать и реплицировать между собой.

У Вас есть смешение понятий в голове. Чесслово ;)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.