https://blog.superhosting.bg/talkweb-the-power-of-cloud.html

Натиснете ENTER, за да видите резултатите или ESC за изход.

Блог на SuperHosting.BG

Над 1 млн. Facebook aкаунта само за 5$… и Силата на Cloud-a

2016-06-21
Съвети от support-a
cloud, cloud услуги, cloud хостинг, cloud платформа, скалируем, cluster, клъстер, споделен хостинг

Силата на Cloud-aВ тази публикация ще разкажем едно много интересно case study с клиент на нашата хостинг компания, което предизвика интерес и посещения от целия свят към сайта му. Ще разберете как в рамките на минути от сайт, опериращ на споделен хостинг, интересът към него толкова ескалира, че бе необходимо стабилно и скалируемо решение с капацитет на много самостоятелни сървъри. Как при нужда преместихме сайта (а може би утре и вашия сайт) на cloud платформата ни и той да продължи с коректната си работа, така че милиони потребители от целия свят да могат да го достъпят безпроблемно…

Как започна всичко?

В сряда – 23 октомври 2012 г. Богомил Шопов обяви на сайта си talkweb.eu, че е успял да закупи информация за 1.1 милиона акаунта във Facebook само за 5 долара. Новината веднага предизвика силен световен интерес и огромно количество заявки към уеб страницата му.

До този момент talkweb.eu използваше услугата споделен хостинг, чийто параметри са напълно достатъчни за нормалната му работа. Рязкото увеличение на посещенията обаче, доведе до многократно надхвърляне на параметрите и нормална работа на сайта беше нарушена.

CloudLinux, който използваме за сървърите ни за споделен хостинг, си свърши работата перфектно и предотврати нарушаване на нормалната работата на сайтовете на други клиенти разположени на същия сървър.

До тук добре, но трябваше бързо да се намери решение, което да може да обслужва нарастващия брой посещения и да може да скалира бързо и лесно при нужда, без прекъсване на нормалната работа на сайта.

Нашето решение беше да преместим talkweb.eu на нашата cloud платформа и това трябваше да стане максимално бързо. Преместването стана за много кратко време и всичко заработи нормално, както се очакваше.

На 25 октомври 2012 г. Бого публикува разговор, проведен с представител от Facebook.

Тази новина се разпространи много по-бързо по целият свят и предизвика десетки пъти по-голям интерес и съответно по-висока посещаемост, отколкото новината за закупуването на самите акаунти.

Виртуалната машина, която обслужваше сайта, започна да прави около 90mbit международен трафик и за да можем да гарантираме стабилност на сайта и възможност за бъдещо увеличаване на трафика, преценихме, че е добре да използваме и повече от възможностите на cloud платформата и да реализираме load balancing (балансиране на натоварването).

Трябваше в рамките на няколко минути да се прецени, какво точно решение за балансиране да се използва.

Неща, които трябваше нашите системни експерти да съобразят:
  1. Приложението, пригодено ли е да работи в балансирана среда, т.е. предвидено ли е да работи в такава среда или не?
  2. Да се използва ли отделна виртуална машина за базата данни?
  3. Ако приложението не е пригодено за паралелна работа на много сървъри, как да се реши проблемът със сесийните файлове, за да не се получава ситуация Split brain. В случая тази ситуация би се изразявала в това, че всяка инстанция на приложението, ще има свои собствени файлове и сесии и крайният ефект е, че при логване в администрацията, ще се създаде сесия само на единия от сървърите и при последващи заявки, ако се свържете с друг сървър, ще се поиска отново потребителско име и парола.
  4. Как да се реши проблемът със синхронизацията на файловете между всички инстанции… Ако се пусне нова статия и се качи нова картинка, например, как тя да се качи на всички сървъри, за да може да се сервира нормално към посетителите и да не дава error 404.
Ето малко информация:
  • Приложението: talkweb.eu ползва WordPress. Тази платформа е много удобна и има много предимства, но не е специално пригодено за работа в клъстер. Нашето решение трябва да е изградено, така че сайтът да не разбира, че работи върху клъстер.
  • МySQL: При текущата ситуация, имаше инсталиран кеширащ плъгин за WordPress и заявките към MySQL-а бяха пренебрежимо малко и на практика не генерираха натоварване.
  • Синхронизация на файловете и сесиите: Решихме да използваме NFS. Експортва се уеб дървото от едната машина на останалите машини. Това решение се реализира много бързо, на практика в рамките на минути.

Клъстерът, който изградихме, се състоеше от 2 инстанции, които можеха много бързо и лесно (в рамките на минути) да станат и 10 при необходимост. За балансиране решихме да използваме метода round robin DNS, т.е. за едно и също име се поставят няколко различни A записа, при което DNS сървърът при всяка заявка връща следващият запис, после следващият и т.н.

Тук вероятно ще възникне въпросът, защо пък точно този метод избрахме?

Избрахме го, защото:

  • Конфигурира се много бързо (ако разбира се преди това TTL-ът на DNS записите е намален на малка стойност, например 60сек). Това е и основната причина да изберем този вариант.
  • Не изисква промяна на мрежовите настройки по сървърите, участващи в клъстера и при добавяне на нов сървър се изисква минимална конфигурация на самия сървър и добавяне на нов А запис в DNS-а
  • При необходимост може бързо да се извади сървър от клъстера, като само се променя настройка в DNS-а.

Клъстерът изглежда по следният начин:

Ето и малко статистика за посещенията и трафикът генериран от сайта:През пиковите часове, сайтът е правел по:

  • Около 1 800 000 хит-а на час т.е. е обслужвал по около 500 заявки в секунда (ако за отварянето на една страница са необходими нормално 10-15 хит-а, то това са заявките към 120 000 – 180 000 страници);
  • Паралелни HTTP сесии, достигаха около 2000 (за отварянето на една страница, обикновено браузъра прави 5,6 паралелни сесии);
  • Трафикът достигна 180 mbit – 21.45 MB в секунда (при тази скорост едно CD с големина 700МБ се сваля за 33 сек.);
  • Изразходен трафик: 500GB за 7 часа (приблизително информацията, която може да се побере на 106 DVD-та).

Благодарим на Бого, че се съгласи да публикуваме тази информация! Смятаме, че като case study ще е полезно за всички, които планират по-сериозни и посещавани приложения и кампании. Реално това е един от многото примери защо cloud услугите от тип IaaS, каквато е нашата платформа Super CloudVPS, са гъвкави, скалируеми и стабилни. При IaaS можете да използвате облачните услуги, за да ги пригодите за всяко ваше приложение, според нуждите му и текущата ситуация.

Често ни питате защо и кога трябва да изберете точно cloud хостинг за вашите проекти – ето това е един от успешните примери! 🙂 Дори и мащабите на вашата кампания или сайт да не изискват толкова много ресурси, горните редове показват как бързо нашите специалисти или вие самите можете да пригодите услугата точно за това, което ви трябва на вас!

И говорейки за облачни (cloud) технологии тази статия също показва, че това не е просто маркетингово понятие, което използваме, както напоследък е много модерно и за всеки, всичко е cloud… Заключението: Услугата е работеща, стабилна и скалируема… и все повече наши клиенти се възползват от силата на cloud-a! А вие!? 🙂

СуперХостинг.БГ

СуперХостинг.БГ е СуперЕкипът! Ежедневно всеки дава най-доброто от себе си, за да можете вие, клиентите на СуперХостинг.БГ, да сте номер едно. СуперСилата на СуперЕкипа е, че винаги е готов да ви даде точната информация, тази от която се нуждаете и за която питате.

500px270px
SuperHosting.BG

Препоръчани статии

Оставете коментар

23 Коментара към "Над 1 млн. Facebook aкаунта само за 5$… и Силата на Cloud-a"

Уведоми ме при
avatar

Ники Желязков
Гост
28 ноември 2012 19:30

Браво и поздравления! Бях прочел някъде за новината, но от вас разбрах, че е българин. 🙂

инж.Борисов
Гост
18 ноември 2012 23:58

Браво. Чудесна статия и както винаги бърза реакция.
Поздравления на целия екип на Суперхостинг.БГ.

Geo
Гост
10 ноември 2012 17:07

Поздравления, наистина супер професионализъм. Радвам се, че има хора като Бого, но още повече се радвам, че има компании като вашата.

Николай Тонев
Гост
8 ноември 2012 14:15

За пореден път екипът на СуперХостинг.БГ доказва безспорен професионализъм, а тази статия ще е в помощ за всички, които се интересуват от услугите Cloud VPS, които предлага компанията. Благодаря за възможността да се запозная по-подробно с иновативната платформа.

Ангел Попов
Гост
Ангел Попов
7 ноември 2012 21:21

Експортнали сте файловете на 1 машина към другите през NFS. Доколко това пести ресурси в сравнение с ако въпросната машина направо изпълняваше заявките? За 2 инстанции може да е ок, ама при повече бързо ще стане тясно място. Това е проблем на почти всички cloud VPS доставчици – ползват локални дискове или SAN, а ако случайно решат да предложат NAS, то той е доста бавен и се използва преимно за бекъпи. Докато и файловата система не стане облачна – облака е облак, ама не съвсем.

wpDiscuz