Где и как можно получить опыт работы с высоконагруженными проектами?
Всем привет. Вопрос в заголовке. Я понимаю, что общей теории навалом: оптимизации структуры БД, оптимизация запросов, кеширование и т.д , но мне кажется этих знаний явно недостаточно, для того чтобы утверждать, что "владею знаниями и опытом необходимыми для оптимизации".
Буду благодарен за ссылки, в которых подробно описывается ПРАКТИЧЕСКИЙ опыт проведения оптимизации, с конкретными проблемами, действиями и результатами. В идеале, блог человека, который занимается такой деятельностью ежедневно.
о хайлоаде можно рассуждать долго, практический опыт в теории не получить, надо именно этим и заниматься чтобы получить его. встретился сложный момент? - подумайте как его решить ничем не ограничивая себя, ведь в программировании возможно все. про популярные решения везде и так пишут, nosql, шардинг, очереди задач/сообщений, асинхронные операции и прочее есть и на хабре, зачем уж далеко ходить.
а так иногда почитываю: phphighload highload
Вы понимаете что всё индивидуально. Т.е. оптимизация базы, кеширование и т.д., это общее. Всё остальное зависит от проекта, у фейсбука например одни проблемы, у твитера другие проблемы. И к друг другу ихние решения не применимы.
владею знаниями и опытом необходимыми для оптимизации
"чтение блогов" это не опыт. Поможет только решение боевых задач. Больше ничего. Обычно ложат сервера кодовые базы по 1кк строк. Так что тут только работать в яндекс каком-нибудь или badoo. Обычно краш срвера выгляди так: сервер упал логи в аттаче. Всё. Что дальше? В каком блоге будете что искать? В какой раздел stackoverflow полезете? Идите в какой-нибудь датацентр или социальную сеть. Лет через 3-5 научитесь оптимизировать что-нибудь.
Вообще на русском по этой теме мало кто чего рассказывает, тем более бесплатно. По английски книг написано много, но большая часть - чушь. Можно почитать ru-highload.livejournal.com , чтобы понимать, что гуглить.
На английском книг много, но большая часть - ересь, фильтровать без опыта тяжело. Вообще же highload сегодня скорее про "быстро пишитенам горизонтально масштабируемое приложение! А мы его на 50 серверов положим и пусть работает. Не хватит - ещё железа добавим". Так дешевле.
Повторюсь, сначала нужно читать не про высокие нагрузки, а про отказоустойчивость - весь highload основан на этом. Конфиги оптимизировать дело десятое.
@inkvizitor68sl , спасибо. Это я, правда, уже прочитал.
Отказоустойчивость, горизонтальное масштабирование - это известно. Но раз появилась возможность поинтересоваться о приличных книгах, то надо спросить.