О курсе

Курс состоит из нескольких тематических модулей, охватывающих путь от базовых представлений о высоких нагрузках до проектирования отказоустойчивых и масштабируемых архитектур. Вводный модуль посвящён особенностям архитектуры компьютеров и операционных систем, проблемам высоких нагрузок, нагрузочному тестированию, а также знакомству с Docker и docker-compose.

Значительная часть программы отведена СУБД в высоконагруженных проектах: рассматриваются индексы и оптимизация запросов, репликация, кеширование, транзакции, шардирование, очереди и отложенное выполнение, In-Memory СУБД, OLAP и OLTP, ClickHouse, а также leaderless-базы данных на примере Cassandra.

Отдельный модуль посвящён разработке бэкенда высоконагруженных сервисов: сравнению микросервисов и монолитов, паттернам декомпозиции, Domain Driven Design, организации взаимодействия сервисов, протоколу HTTP, балансировке и отказоустойчивости, асинхронной обработке, распределённым транзакциям, инфраструктуре микросервисов, системам конфигурации, распределённому файловому хранилищу, мониторингу и алертингу, средствам описания архитектуры.

В программе также предусмотрены разбор типовых проблем highload-архитектур на примерах новостного портала, сайта знакомств, рекламной системы, видеостриминга и облачного хранилища, а также практические занятия по System Design, включая сервисы продажи билетов и такси.

Заключительный месяц отведён проектной работе: слушателям предлагается разработать отказоустойчивую и масштабируемую архитектуру веб-проекта и MVP по ней. В процессе написания проекта предусмотрены консультации преподавателей и защита проектных работ.

Что рассматривается в программе

  • Рассматривается нагрузочное тестирование и проблемы высоких нагрузок
  • Разбирается работа с индексами, репликацией, кешированием и шардированием в СУБД
  • Изучаются очереди, отложенное выполнение, In-Memory СУБД, OLAP и OLTP
  • Рассматривается обзор ClickHouse и leaderless-баз данных на примере Cassandra
  • Разбираются микросервисы, монолиты, Domain Driven Design и паттерны декомпозиции
  • Изучаются балансировка, отказоустойчивость, распределённые транзакции и мониторинг
  • Рассматривается System Design на примерах сервисов продажи билетов и такси
  • Предусмотрена работа над проектом: архитектура веб-проекта и MVP

Кому может быть полезен курс

  • Веб-разработчикам, интересующимся подводными камнями разных архитектурных решений
  • Тимлидам команд веб-разработки, которым нужны инструменты проектирования систем и аргументы для обоснования решений
  • Архитекторам ПО, желающим получить базу для работы с системами под высокой нагрузкой
  • Специалистам, которым нужно актуализировать и систематизировать знания в сфере HighLoad

Вопросы о программе

Какие модули входят в программу курса?

В программе заявлены модули: «Введение в высокие нагрузки», «СУБД в высоконагруженных проектах», «Разработка бэкенда высоконагруженных сервисов», «Типовые проблемы Highload на примере разных архитектур», «System Design на практике» и «Проектная работа».

Какие темы рассматриваются в модуле о СУБД?

В этом модуле рассматриваются индексы и оптимизация запросов, репликация, кеширование, транзакции в реляционных СУБД, шардирование, очереди и отложенное выполнение, In-Memory СУБД, OLAP и OLTP, обзор ClickHouse и leaderless-базы данных на примере Cassandra.

Что включает проектная работа?

Заключительный месяц посвящён проектной работе: необходимо разработать отказоустойчивую и масштабируемую архитектуру веб-проекта, а затем MVP по этой архитектуре. Предусмотрены выбор темы, консультации по проектам и домашним заданиям, а также защита проектных работ.

Какие примеры архитектур разбираются в курсе?

В модуле о типовых проблемах Highload рассматриваются новостной портал, сайт знакомств, рекламная система, видеостриминг и облачное хранилище. В модуле System Design — сервис продажи билетов и сервис такси.