Highload Architect: Архитектор высоких нагрузок веб-приложений от Otus
Вы научитесь
Программа курса
Вас ждут уроки, направленные на изучение особенностей архитектуры веб-приложений. В течение обучения вы будете выполнять домашние задания и мини-проекты, которые можно будет добавить в свое портфолио.
Введение в высокие нагрузки
Изучите и рассмотрите наиболее распространенные проблемы, возникающие из-за возрастающих нагрузок на приложения. Познакомитесь с различными способами тестирования веб-приложений на отказоустойчивость и иденцифицируете наиболее эффективные. Рассмотрите особенности высоких нагрузок и их последствия для неподготовленных приложений.
Изучите и рассмотрите наиболее распространенные проблемы, возникающие из-за возрастающих нагрузок на приложения.
Познакомитесь с различными способами тестирования веб-приложений на отказоустойчивость и иденцифицируете наиболее эффективные.
Рассмотрите особенности высоких нагрузок и их последствия для неподготовленных приложений.
СУБД в высоконагруженных проектах
Поймете, как индексы могут повышать производительность поиска данных, и рассмотрите различные виды индексов. Разберетесь, в каких еще случаях могут быть использованы индексы и как их корректно для этого применять. Познакомитесь с процессом копирования данных из различных источников и баз данных. Рассмотрите механизмы синхронизации информации между несколькими базами. Изучите подробно использование различных элементов и способов реплицирования данных. Разберетесь в основных стратегиях горизонтального масштабирования кластеров. Рассмотрите различные методы разделения и хранения баз данных на более глубинном уровне. Изучите базовые принципы кеширования и особенности доступа к данным в кэше. Рассмотрите особенности последовательных операций в реляционных системах. Познакомитесь с базовыми принципами и способами откладывания ресурсоемких задач, что позволит быстрее обрабатывать запросы в приложениях. Разберетесь с отложенными задачами и очередями из них на более подробном уровне и освоите неочевидный инструментарий. Рассмотрите системы управления базами данных, которые используют оперативную память, и научитесь с ними работать. Рассмотрите системы аналитической и транзакционной обработки, разберете их отличия и преимущества. Научитесь работать с ClickHouse, которая является колоночной аналитической СУБД. Разберете ее базовые особенности.
Поймете, как индексы могут повышать производительность поиска данных, и рассмотрите различные виды индексов.
Разберетесь, в каких еще случаях могут быть использованы индексы и как их корректно для этого применять.
Познакомитесь с процессом копирования данных из различных источников и баз данных.
Рассмотрите механизмы синхронизации информации между несколькими базами.
Изучите подробно использование различных элементов и способов реплицирования данных.
Разберетесь в основных стратегиях горизонтального масштабирования кластеров.
Рассмотрите различные методы разделения и хранения баз данных на более глубинном уровне.
Изучите базовые принципы кеширования и особенности доступа к данным в кэше.
Рассмотрите особенности последовательных операций в реляционных системах.
Познакомитесь с базовыми принципами и способами откладывания ресурсоемких задач, что позволит быстрее обрабатывать запросы в приложениях.
Разберетесь с отложенными задачами и очередями из них на более подробном уровне и освоите неочевидный инструментарий.
Рассмотрите системы управления базами данных, которые используют оперативную память, и научитесь с ними работать.
Рассмотрите системы аналитической и транзакционной обработки, разберете их отличия и преимущества.
Научитесь работать с ClickHouse, которая является колоночной аналитической СУБД. Разберете ее базовые особенности.
Разработка бэкенда высоконагруженных сервисов
Узнаете, какие бывают деления паттернов на группы и какие задачи они могут решать. Рассмотрите шаблон для организации разделения приложений. Разберетесь, в каких случаях и к каким задачам стоит применять микросервисы, а к каким монолиты. Поймете, из чего состоит HTTP протокол и какие у него есть параметры. Разберетесь, как работает протокол и для чего его можно использовать. Узнаете, каким образом организованы микросервисы и какие существуют особенности взаимодейстия с ними и между ними. Освоите идентифицирование баланса в работе веб-сервисов и сможете обеспечить бесперебойную стабильную работу. Разберетесь, как производить распределение на параллельно работающие системы вычисления и запросы с целью повышения эффективности обработки. Изучите, как реализуется асинхронная обработка и чем она отличается от синхронной. Рассмотрите распределение транзакций и их преимущества. Познакомитесь с основными составляющими микросервисов и поймёте, для решения каких задач они предназначены. Разберетесь, какие особенности сущетствуют для системы конфигураций и как они влияют на функционирование. Изучите методы и принципы поиска ошибок и слабых мест приложений.
Узнаете, какие бывают деления паттернов на группы и какие задачи они могут решать. Рассмотрите шаблон для организации разделения приложений.
Разберетесь, в каких случаях и к каким задачам стоит применять микросервисы, а к каким монолиты.
Поймете, из чего состоит HTTP протокол и какие у него есть параметры.
Разберетесь, как работает протокол и для чего его можно использовать.
Узнаете, каким образом организованы микросервисы и какие существуют особенности взаимодейстия с ними и между ними.
Освоите идентифицирование баланса в работе веб-сервисов и сможете обеспечить бесперебойную стабильную работу.
Разберетесь, как производить распределение на параллельно работающие системы вычисления и запросы с целью повышения эффективности обработки.
Изучите, как реализуется асинхронная обработка и чем она отличается от синхронной.
Рассмотрите распределение транзакций и их преимущества.
Познакомитесь с основными составляющими микросервисов и поймёте, для решения каких задач они предназначены.
Разберетесь, какие особенности сущетствуют для системы конфигураций и как они влияют на функционирование.
Изучите методы и принципы поиска ошибок и слабых мест приложений.
Типовые архитектуры
Разберетесь, как устроена базовая архитектура приложения и какие их типы выделяют в практике. Рассмотрите типичную архитектуру портала новостей и его отличительные черты. Иденцифицируете характерные блоки структуры рекламных ресурсов. Изучите, какие элементы соответствуют типичному почтовому порталу и в какую иерархия они выстраиваются. Познакомитесь с архитектурой облачного хранилища и рассмотрите его особенности. Разберете устройство структуры сайта знакомств и его основные элементы.
Разберетесь, как устроена базовая архитектура приложения и какие их типы выделяют в практике.
Рассмотрите типичную архитектуру портала новостей и его отличительные черты.
Иденцифицируете характерные блоки структуры рекламных ресурсов.
Изучите, какие элементы соответствуют типичному почтовому порталу и в какую иерархия они выстраиваются.
Познакомитесь с архитектурой облачного хранилища и рассмотрите его особенности.
Разберете устройство структуры сайта знакомств и его основные элементы.
Итоговый проект
Сформулируете собственную тему или выберете из предложенных для выполнения финального проекта по программе. Сможете организовать эффективную работу над проектом. Получите обратную связь от преподавателей по поводу выполненных вами заданий и проектов, сможете понять и исправить ошибки. Презентуете результаты своей работы над финальным заданием преподавателям программы.
Сформулируете собственную тему или выберете из предложенных для выполнения финального проекта по программе. Сможете организовать эффективную работу над проектом.
Получите обратную связь от преподавателей по поводу выполненных вами заданий и проектов, сможете понять и исправить ошибки.
Презентуете результаты своей работы над финальным заданием преподавателям программы.