telefonshik Posted October 26, 2012 Ни один дата центр не сможет дать 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 и тд )что бы функционировала их распределённая система? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sexst Posted October 26, 2012 Гугл свою структуру полностью не раскрывает, известны только принципы технологий. Есть A-записи на балансировщики, которые уже раскидывают по web-серверам. А к ним цепляются уже другие сервера, которые перепахивают запросы по распределенной базе данных. Это касательно самого поисковика, но все остальное по идее на той же базе. Впрочем на гугл ориентироваться глупо: у них свой очень специализированный софт, свое железо (не только сервера, но даже и роутеры и свитчи), а архитектура спроектирована под огромные кучи серверов. Общий принцип обычно это распределенные ФС и балансировка по днс. Дальше уже кто во что горазд. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SergeiK Posted October 26, 2012 Ни один дата центр не сможет дать 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 и далее решения на базе виртуализации, но это работает для больших систем, и при наличии своей инфраструктуры. Можно воспользоваться механизами маршрутизации, так тоже работает. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dayx Posted October 26, 2012 Вот это видео можно посмотреть. http://events.yandex.ru/talks/329/ Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
karpa13a Posted October 26, 2012 1. anycast DNS 2. DNS view 3. мастер и админку не обязательно держать в этих ДЦ, но если там есть "обратная связь" аля коментов, просмотров, баннерных показов итд - то придется городить огород. 4. через бгп и аникаст можно препендами балансировать нагрузку на ДЦ. вообщем тут нормальная аналитика на несколько страниц начинающяя с ТЗ, по которому разрисован функционал сервисов а только потом разрисовывание чего нужно делать. и сколько это будет стоить) велкам) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
chocholl Posted October 26, 2012 есть опыт постройки таковых. огласите бюджет проекта тогда станут понятны подходящие методы. Ни один дата центр не сможет дать 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 и тд )что бы функционировала их распределённая система? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Прохожий Posted October 26, 2012 Идите к любому оператору CDN, он Вам все расскажет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted October 26, 2012 ИМХО если задача без балансировки, просто отказоустойчивость - BGP Если задача с балансировкой - то чуть сложнее. DNS и прочие stateless протоколы anycast, а вот с TCP уже по geoip, нагрузке, маршруту пришедшего пакета разбрасывать, ну и в случае отказа выносим IP из DNS, разойдется быстро, у крупных ресурсов A записи с небольшим временем жизни. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
karpa13a Posted October 26, 2012 Идите к любому оператору CDN, он Вам все расскажет. и научит как построить "активный" сервис) а не просто запроксировать статику?) бюджет не понятен - да) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
voron Posted October 26, 2012 а вот с TCP уже по geoip, нагрузке, маршруту пришедшего пакета разбрасывать разбрасывать откуда - из единой точки отказа? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vIv Posted October 26, 2012 Идите к любому оператору CDN, он Вам все расскажет. и научит как построить "активный" сервис) а не просто запроксировать статику?) бюджет не понятен - да) По секрету: отдача контента - тоже активный сервис ;-) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
karpa13a Posted October 26, 2012 тоже активный сервис ;-) я специально взял в кавычки же. под "активным" я понимал - что данные идут в оба ДЦ(причем от пользователей), их нужно обрабатывать и реплицировать между собой. опять таки, сможет ли оставшийся в живых ДЦ выдержать 2х нагрузку) в случае... а отдача и репликация статики - это достаточно тривиальная задача. решают же ее всякие вконтактики да акамаи) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vIv Posted October 26, 2012 Тсс... Акамай ещё статистику в онлайне даёт ;-) В общем, CDN в лоб не совсем то, но сами хозяева CDN эту задачу тоже решают, - для себя. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
karpa13a Posted October 26, 2012 ну опять таки они контролируют генерацию этой статистики) ее можно посчитать на месте, если она подлагает какое-то время - то ничего страшного не случиться) можем продолжить в паблике рассуждения на предмет ДЦ их реплик, балансинга и прочего) но начать может с базы?) кто за пределами МКАДа дает 10Г?) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted October 26, 2012 А зачем новостному сайту 10Г нужно, можно поинтересоваться ? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vIv Posted October 26, 2012 ну опять таки они контролируют генерацию этой статистики) ее можно посчитать на месте, если она подлагает какое-то время - то ничего страшного не случиться) Ой, друг, ты очень сильно заблуждаешься! От этой статистики играет онлайн-реклама, поэтому данные нужны в "мягком риалтайме". Поэтому вынь-да-положь живой поток, и не забудь отсортировать по юзер-профайл. Это что касается софтверно- и фильмо-ориентированных CDN. Иной раз вовремя вброшенный в ротацию баннер даёт миллионы баксов "вот прям ща". Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
karpa13a Posted October 26, 2012 (edited) А зачем новостному сайту 10Г нужно, можно поинтересоваться ? видео раздавать например. всякая "жарёха" может не одну десятку за пару минут после грамотного вброса по всяким контактикам-жж захавать. Ой, друг, ты очень сильно заблуждаешься! От этой статистики играет онлайн-реклама секундочку! мы говорим о цдн-е как доставке медиа-контента? или говорим о баннерке?) или говорим о генерации контента?) баннерка имеет не так уж и много параметров и задача в максимуме выводится на вывод одного юзера на один хост с баннеркой) где вся математика уже посчитана и в памяти. это если мы говорим о лимитах показа баннера на лицо. общий же срез что показывать юзерам с каким-то профилем заранее известен) баннерку можно привлечь и стороннюю. пре и пост роллы тоже сюда включены. там не всё так страшно) и скорости не нужны. ну покажется на 10-20к больше какойто баннер - не критично) Edited October 26, 2012 by karpa13a Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vIv Posted October 26, 2012 Ой, друг, ты очень сильно заблуждаешься! От этой статистики играет онлайн-реклама секундочку! мы говорим о цдн-е как доставке медиа-контента? или говорим о баннерке?) или говорим о генерации контента?) Напоминаю фразу: Тсс... Акамай ещё статистику в онлайне даёт ;-) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted October 26, 2012 А зачем новостному сайту 10Г нужно, можно поинтересоваться ? видео раздавать например. всякая "жарёха" может не одну десятку за пару минут после грамотного вброса по всяким контактикам-жж захавать. Ну 10 гиг забить это надо таки быть очень толстым новостным сайтом. Чай не рутуб. Если речь идет о раздаче видео в 10г то прямая дорога в СДНы под то видео. А статистика нужна новостникам как хлеб. Я новостных сайтов без рекламы неприпомню. Это деньги их. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
karpa13a Posted October 26, 2012 (edited) Если речь идет о раздаче видео в 10г то прямая дорога в СДНы под то видео. когда начинается пересчет тб видео в сроки хранения и раздачи на цдн-е(что амазон, что отечественные), то самое время задаться вопросом: где за пределами мкада можно урвать десятку) и желательно не одну) можно да - выпинывать в цдн попсу, а потом выпинывать ее из цдн-а по сроку или по порогу и раздавать самостоятельно. но простое видео жрет сцуко сотни мег даже при небольшой посещаемости. а гигабиты собирать в пучки на каком-то этапе становиться грустно. рекламную площадку можно сдать за фиксу и не морочить себя головняками с разработкой-поддержкой и прочими продажами какомунить адриверу) так что опять таки) бюджет не озвучен) как пример - один из кэшеров. 300 там бывает через день. 500 в неделю-две. полка бывает. новые киношки можете поискать сами) а еще бывают онлайновые трансляции каких-то конференций или событий. там если 10к юзеров придет посмотреть мегабитный поток то аллес. десятка ушла) Edited October 26, 2012 by karpa13a Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
st_re Posted October 26, 2012 Какие киношки на электронной газете ? (второе предложение в 1 посте). Максимум короткие ролики, которые на некрупном СМИ вообще можно на ру/ю тубы слить. (а сми успевшие переехать в разряд "крупные" все уже обычно имеют, и таких вопросов уже не задают) Я бы начал с допроса разработчиков, на предмет как они базу пользуют, если отдающие контент сервера ходят в базу только по чтению, то теоретически их можно цеплять на слейвы и эти слейвы разносить хоть в 3000 разных датацентров. Код синкать, он не должен меняться часто. Статику (картинки тама всяие) синкать пофайлово туда же (ну или NGINXить в датастор). В DNS по 1-2-3-4 IP с каждого датацентра и будет счастье. Внутри датацентра несколько генерирующих серверов,между ними или DNS или же сем балансировать, можно nginx/haproxy, можно аппаратным балансировщиком по IP, просто в DNS очень много IP пихать не очень верное решение. Если датацентр вылетел, то выносить его из DNSа. (TTL не задирать, чтобы быстрее разлетелось.) Если на запись база нужна, то смотреть как оно там дальше поедет. Может выносить трепалки-обсуждалки на отдельные имена и их хранить в 1 датацентре, а сами новости отдавать с разных, тогда при полегании главного датацентра новости будут показываться, а без потрепаться народ немного потерпит. Причем оно может быть и на странице с новостью, но по таймауту от сервера ответственного за потрепаться, генерящий страничку сервер воткнет туда пустой дивчик. Но без анализа кода со стороны разработчиков очень не ясно какие там особенности. ну а дальше уже смотреть. Можно DNS делать с геотаргетингом, можно тяжелый контент раздавать через третий CDN.. но если софт не сможет распределить генерирующий страничку процесс по разным машинам (ну мали как там его написали) то ой. максимум разнести кеширующие nginxы по площадкам, но все равно при полегании основного ничего толком работать не будет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
telefonshik Posted October 30, 2012 Вот это видео можно посмотреть. http://events.yandex.ru/talks/329/ Да видео то, что нужно... Давно хотел узнать, как у Яндекса всё вертеться... Буду копать в сторону Linux IPVS Mail.ru тоже эту же технологию использует http://techforum.mail.ru/report/38 Тут видео, где они более подробнее, чем Яндекс про неё рассказывают... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted October 30, 2012 разбрасывать откуда - из единой точки отказа? Примари сервис реплицирует данные на секондари сервис. Репликация файлов и БД - тривиальная задача для студента. Немного сложнее, перегнать апдейты с резерва на основной сервис, при восстановлении основного. Еще упоминали онлайн-вещание, в случае переключения BGP займет некоторое время на реконнект, либо же сразу с точки вещания отдавать двойным потоком, на резерв тоже, если обрыв в секунд 30-60 неприемлем. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
karpa13a Posted October 30, 2012 Репликация файлов и БД - тривиальная задача для студента. не на столько как кажется( файло реплицировать при недоступности удаленной точки - то еще удовольствие. рекомендую это попробовать учесть. опять таки - "груз наследия" в виде кода не всегда позволяет mv(s,t) заменить на чтото другое. реплика в одну сторону - да - иногда даже работает) хотя вот тут предлагают за $120к избавиться от головняка за 10Тб места (два комплекта железа+софт). доступ - http/dav или nfs/cifs на месте, активная реплика в обе стороны. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Прохожий Posted October 31, 2012 и научит как построить "активный" сервис) а не просто запроксировать статику?) Технологии CDN уже давно не сервера со статическим контентом, раскиданные по географии. Это именно что прокачка в реальном времени по сети узлов CND динамического контента, причем не всего, а оптимизируя по востребованности. под "активным" я понимал - что данные идут в оба ДЦ(причем от пользователей), их нужно обрабатывать и реплицировать между собой. У Вас есть смешение понятий в голове. Чесслово ;) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...