Немного историиИстория сайта ffclub.ru начинается в далеком 2003-м году, с создания каталога ответов на популярные вопросы на тему выбора и ремонта автомобилей Ford Focus. В связи со строительством завода во Всеволожске, модель становилась популярной, и в Интернете появился форум, на площадке официального дилера, где зарождалось сообщество людей, интересующихся этим автомобилем - fordforums. Первое время, на нашем сайте был только FAQ с ответами и вопросами, куда изредка заходили случайные посетители с растущего сайта fordforums.
Однако уже в летом 2003 года на сайте появился форум, для того, чтобы люди, которые периодически теряли возможность общения, из-за проблем на площадке fordforums, могли продолжать общаться, на время падения основного форума. Датой начала работы форума ffclub, можно считать 18 июня 2003 - день первого сообщения на форуме
Однако доменное имя ffclub.ru было зарегистрировано только год спустя, когда посещаемость сайта с запасным форумом начала превосходить посещаемость fordforums. С 23 августа мы стали официально
работать на домене ffclub.ru.
Короткое доменное имя, сложившийся коллектив участников и популярная иномарка русской сборки сделали свое дело - сайт начал быстро расти, и начинал доставлять немало технических хлопот. Изначально никто и не предполагал, какая посещаемость может обрушиться на этот сайт, поэтому он работал на дряхлом сервере, среди множества других проектов. Фотографий этого сервера не сохранилось, есть лишь фотка его собрата - наш первый сервер выглядел почти так же:
Можно представить себе, как выглядел хостинг в KIAE (Курчатовский Институт Атомной Энергии) - в огромном зале, который был похож на полутемный цех, стояли обычные парты, на которых светились индикаторами пыльные системные блоки, среди которых был первый сервер, на котором работал ffclub
Это был тяжеленный агрегат, донести который от проходной Курчатовского института до машинного зала, было настоящим подвигом. Вскоре, форум вытеснил все другие сайты, которые работали на этом сервере, ресурсов сервера стало не хватать, и на крик о помощи "где можно купить память подешевле?!" откликнулся веселый и добрый Швым, вручивший мне дополнительный банк памяти, который я спешно повез в Курчатовский Институт, и торжественно установил в пыльный сервер - это было начало большого пути апгрейдов всего ffclub.
Поняв, что на подходе Ford Focus 2, а мы и без него уже работаем
еле еле, я озаботился сборкой новой машины - первого собственного сервера, который можно было задействовать отдельно под весь проект. Время тянулось мучительно долго, но в итоге длительного сбора средств с немногочисленных рекламодателей, я собрал часть необходимой суммы и озадачил своего приятеля, который досконально знал, где купить все детали максимально дешево. За пару недель мы собрали сервер, и зимним морозным утром, я повез его на площадку, чтобы торжественно установить. Было очень холодно, и очень ветрено, а двери ММТС9 очень тугими, поэтому я чуть не распластался на крыльце, что могло стать неожиданным концом сего благого начинания
Но преодолев все препятствия, сервер был установлен и торжественно запущен
К слову, этот сервер усердно оттрудился более 8 лет, и был торжественно подарен молодым стартаперам для новых проектов, в конце 2012 года. Кроме ffclub.ru, он стал домом для разнообразных проектов:
Первый собственный сервер сразу c удовольствием нагрузился, почти полностью, из-за того, что выпуск FF2 стал причиной тысяч новых регистраций на форуме. Стало ясно - нам нужно еще
Популярность сайта, через некоторое время, позволила использовать более совершенные машины.
С этого момента было много пертурбаций, и я расскажу о текущей конфигурации более подробно в конце, для тех кому интересны технические детали работы всего проекта.
Параллельно с этим была начата работа по оптимизации движка форума, улучшая только железо, нельзя достичь максимальной скорости работы, когда база данных сообщений исчисляется гигабайтами, а трафик - террабайтами. Это длинный этап проб и ошибок, за время которого был серьезно модифицирован базовый движок форума Invision Power Board, на котором работал проект. Помимо расширений, пришлось написать множество больших и мелких модулей, например для быстрого поиска, мгновенного оповещения через jabber, или для геотаргетинга. Эта работа не останавливается, и наверное никогда не остановится, пока жив проект, так как технологии не стоят на месте. Большинство функций было разработано по просьбе и в тесном контакте с многими участниками, поэтому нельзя сказать, что автор всей этой работы один человек - это большой коллективный труд!
Технические подробностиКак же сейчас устроен ffclub? На данный момент, это довольно сложная распределенная конструкция, которая выглядит так:
1. Сервер приложений - главный сервер, который генерирует динамические страницы. Работает под управлением FreeBSD, как и все остальные серверы, и в качестве web сервера используется Nginx, гениальная разработка Игоря Сысоева, которая пользуется большой популярностью во всем мире. Кстати, мы стали использовать Nginx почти с первых месяцев работы сайта, когда никто еще не знал, что это такое, и все отдавали предпочтение web серверу Apache. У нас просто не было выбора, так как первый сервер был достаточно слабый, и Nginx был единственным вариантом, чтобы хоть что-то шевелилось. Мы написали собственный модуль для Nginx, который обеспечивает обнаружение и блокировку базовых атак. В итоге сервер приложений выглядит так: Nginx + PHP/FastCGI + Redis + Sphinx.
2. Сервер базы данных - мы используем Mysql. Да, это старое решение, баян, но при умелой настройке, даже при такой большой базе как у нас, можно заставить все это работать довольно быстро
Работает в связке master-slave с сервером бэкапов.
3. Серверы статики - два сервера послабее, отдают только статические файлы, выполняя кэширование, и разгружая сервер приложений. Одновременно используются для рассылки почты и для кратковременных бэкапов.
4. Сервер бэкапов - учитывая вопросительную политическую ситуацию, да и просто на всякий случай, долговременный сервер бэкапов находится не в России. На нем хранятся бэкапы базы данных и всех файлов форума. Очень много информации (сотни гигабайт).
У нас получилось стать одним из крупнейших автомобильных форумом Рунета, и мы будем стараться, чтобы технические ограничения не стояли на пути нашего развития. Мы пережили множественные падения питания, отказы памяти и жестких дисков, постоянные атаки. Один раз, при переезде с одной площадке на другую, водитель хостера попал в ДТП, но сервер не пострадал
Каждые сутки нас посещает 40 тысяч человек, и 700-800 тысяч в месяц (число жителей в Краснодаре), и давайте не забывать что все это время, пока вы спите, едите, общаетесь на ffclub, стоите в пробке - все этот время, несколько серверов без отдыха и усталости работают для вас, скрываясь за страницами нашего сайта
Rubi35
15 February 2013
terПознавательно, спасибо)))
цитата: |
Каждые сутки нас посещает 40 тысяч человек, и 700-800 тысяч в месяц (число жителей в Краснодаре), и давайте не забывать что все это время, пока вы спите, едите, общаетесь на ffclub, стоите в пробке - все этот время, несколько серверов без отдыха и усталости работают для вас, скрываясь за страницами нашего сайта |
а в 2005 году это звучало, как крик о помощи...
цитата: |
Я уже не говорю что трафик вырос до 6 гигов и народу 2 тысячи ежедневно, это вообще караул |
Наиль
15 February 2013
спасибо, классный рассказ.
ЗЫ и проделанная работа, естественно, тоже
ЗЗЫ а где фотки, как это выглядит сейчас?
Наиль
15 February 2013
2
Наиль это вообще никому не известно
Офигеть, вы с мускулем работаете! Красиво! Думал, что у вас мсскуль или оракл, но оказалось все гораздо прозаичнее.
Мало кто знает какой объем работ проведен, надеюсь к следующему юбелею наши серваки будут выглядеть так
классно, вы молодцы что оптимизировали движок форума под такую нагрузку и объем базы!!!
вот только как теперь накатываются апдейты?
и что за оповещения через jabber? или это уже ваши админские фишки?
creeper:
|
и что за оповещения через jabber? или это уже ваши админские фишки? |
Да нет, не только админские
Можно настроить свой qip или google talk акканут, чтобы получать отбивки о личных сообщениях, подписках, обращениях в теме:
Jabber Botcreeper:
|
вот только как теперь накатываются апдейты? |
Апдейты накатываются глухими ночами, пока большинство пользователей спит
ter:
|
Апдейты накатываются глухими ночами, пока большинство пользователей спит |
ну я имел ввиду - вы апдейты от IPB тоже адаптируете?
по поводу jabber - круто, нужно будет попробовать подключить!
creeperТам от IPB мало чего осталось
Адаптируем только обновления безопасности. В остальном, разрабатываем свой отдельный fork.
ter
респект и уважуха! форм работает очень быстро!
40 тысяч уников это круто
syndicate
3 April 2013
RamzesiK:
|
надеюсь к следующему юбелею наши серваки будут выглядеть так |
Блин, сорри, за оффтоп.
У меня терминальники стоят в таком же "коридорчике". Там же и серваки контакта. Очень похож.
Shark:
|
Воткни в них монтировку |
Контакт то еще пол беды а вот в одноклассники я сам лично бы воткнул )))
Shark:
|
Воткни в них монтировку |
Я бы там вообще все сжег связанное с ним!
Дмитрий Никитский
3 April 2013
1
Странные Вы, тут все просто : нет акаунта нет проблем