Что такое highload и как его изучать
Давайте разберемся, с чего можно начать знакомство с высоконагруженными системами или highload applications человеку, который с этим никогда не сталкивался.
Для начала условимся, что по большому счету, разработка высоконагруженной системы не так сильно отличается от просто грамотной разработки веб-приложения. Ключевым элементом в такой разработке является правильное проектирование архитектуры приложения.
Из чего складывается грамотная архитектура
Все крупные сайты строятся по одному принципу – разделение структуры проекта на части. Еще одно важное решение при разработке архитектуры – использовать проверенные решения.
Для решения двух этих главных проблем подходит любой современный фреймворк. Сегодня для каждого популярного языка программирования, будь то PHP, Python, Ruby или Java существует проверенный сообществом и множеством проектов фреймворк.
А выбор фреймворка должен основываться, в первую очередь, на языке программирования, с которым вы хорошо знакомы. Если же вы никогда не работали с фреймворками – первым пунктом в изучении проектирования highload-приложений должно стоять изучение конкретного фреймворка.
Кроме правильного выбора программной основы, есть еще множество вещей, которые нужно изучить. Принципы масштабирования, выбор инструментов, базы данных и грамотная работа с ней, шардинг и денормализация – все эти понятия не должны вызывать у вас сложностей. Чтобы глубже разобраться с построением высоконагруженной архитектуры, предлагаем изучить следующую подборку курсов и ресурсов по highload.
Курс по проектированию высоконагруженных систем от Технопарка Mail.Ru
Цель курса — получение студентами навыков проектирования высокоэффективных программных систем. В восьми лекциях преподаватели Технопарка рассказывают все о высоконагруженных проектах. Начиная с того, что считается highload-системой и заканчивая примерами типовых архитектурных решений.
Канал Ontico Team
YouTube канал посвященный веб-разработке. В видео канала рассматриваются типовые проблемы и решения для высоконагруженных проектов, масштабирование систем, базы данных, а также не напрямую связанные с highload вопросы, такие как средства разработки и отладка кода.
Доклад Олега Бунина об алгоритме проектирования highload-систем
Олег Бунин – основатель Ontico и человек, который принимал участие в создании многих крупных проектов рунета. В этой лекции Олег рассказывает об инструментах и конкретных шагах, которые нужно пройти при построении высоконагруженной архитектуры проекта.
Плейлист конференции Highload++ Junior 2015
Серия видео с лекций конференции Highload++ Junior 2015, посвященной обучению разработчиков высоконагруженных систем. В качестве лекторов на конференции выступают работники крупных российских компаний, таких как 2ГИС, Badoo и техотдела Сбербанка. В лекциях речь пойдет о применении инструментов масштабирования, кэширующих системах и базах данных.
Ruhighload
Русскоязычный ресурс, посвященный высоконагруженным системам. На нем можно найти множество справочных материалов по highload, примеров, обзоров инструментов и интересных статей.