АРХИТЕКТУРА ВЫСОКИХ НАГРУЗОК
Опыт и инсайты от инженера, который более 15 лет разрабатывает программное обеспечение
Артем Дорохин
former Solutions Architect в Luxoft

ЭТОТ КУРС ДЛЯ ВАС, ЕСЛИ ВЫ ХОТИТЕ:
О КУРСЕ:
За 19 занятий на курсе «Архитектура высоких нагрузок» вы:
-
освоите современные практики по хайлоаду и системному дизайну, применяемые в крупных и средних компаниях
-
изучите терминологию архитектуры приложений
-
разберете преимущества и недостатки технологий, модели передачи, хранения и структуризации данных
-
научитесь работать с распределенными данными, пакетами и потоками, а также проектировать соответствующие решения
-
создадите собственную систему, способную выдержать ежедневный трафик в ≥ 1 млн пользователей и масштабироваться

В ПРОГРАММУ КУРСА ВХОДЯТ
-
01
РАЗБОР АРХИТЕКТУР
Узнаете, какие технологии лежат в основе масштабируемых и отказоустойчивых систем. Научитесь применять и адаптировать современные highload-практики.
-
02
РАЗРАБОТКА СОБСТВЕННОЙ АРХИТЕКТУРЫ
Построите архитектуру, которая способна выдержать большой трафик, сможете оптимизировать процессы на вашей текущей работе и определять стоимость внедрения технических решений под задачи бизнеса.
-
03
ДИЗАЙН ДЛЯ BIG DATA
Будете изучать архитектуру высоких нагрузок на реальных кейсах. Вы научитесь хранить, обрабатывать и анализировать Big Data, а также распределять нагрузку на систему.
лектор
Артем Дорохин
former Solutions Architect в Luxoft, более 15 лет технического опыта в ІТ
-
Работал на позициях Tech Lead в SoftServe, Lead Software Engineer в EPAM Systems
-
Проектировал и создавал высоконагруженные системы реального времени (latency < 5ms) для Fintech и eCommerce
-
Проектировал и создавал распределенные системы взаиморасчетов между финансовыми учреждениями США (включая Blackrock, JP Morgan Chase)
-
Сертификация GCP Certified Cloud Architect
Программа
-
01 занятие02.02.2026 19:00
Введение в высокопроизводительные системы и требования к архитектуре
- Поймете, что такое высокопроизводительные системы
- Освоите базовые термины архитектуры
- Разберете ключевые задачи архитектора высоконагруженных систем
- Научитесь собирать и документировать требования к программе/системе
-
02 занятие05.02.2026 19:00
Основы архитектурного дизайна
- Разберете основные проблемы высоконагруженных систем
- Рассмотрите параметры систем: масштабируемость, надежность, производительность, fault tolerance
- Различите функциональные и нефункциональные требования
- Научитесь делать базовые расчеты ресурсов
- Изучите принципы масштабирования и балансировки нагрузки
- Создадите базовую архитектуру системы из ключевых компонентов
-
03 занятие09.02.2026 19:00
Архитектурные стили и типичные архитектуры
- Поймете, почему архитектура базируется на требованиях
- Разберете подходы к масштабированию систем
- Ознакомитесь с основными архитектурными стилями
- Поймете принципы event stream и event sourcing
- Определите ситуации, где нужен event sourcing
-
04 занятие12.02.2026 19:00
Мониторинг, метрики и алертинг
- Разберете важность мониторинга и корректного алертинга
- Различите метрики и логи
- Научитесь работать с системами мониторинга
- Освоите основы подхода SRE
-
05 занятие16.02.2026 19:00
Вертикальное масштабирование
- Поймете сущность вертикального зума
- Рассмотрите его преимущества и недостатки
- Научитесь определять ситуации, когда вертикальное масштабирование эффективно
- Разберете, как сделать систему вертикально масштабируемой
-
06 занятие19.02.2026 19:00
Горизонтальное масштабирование
- Поймете, что такое горизонтальное масштабирование
- Рассмотрите его сильные и слабые стороны
- Научитесь определять сценарии, где оно необходимо
- Овладеете принципами построения горизонтально масштабируемых систем
-
07 занятие23.02.2026 19:00
Масштабирование в глубину (in-depth scaling)
- Разберете специфику масштабирования в глубину
- Рассмотрите преимущества и недостатки этого подхода
- Овладеете типичными паттернами масштабирования в глубину
-
08 занятие26.02.2026 19:00
Способы доступа к данным
- Разберете разные модели доступа к данным
- Оцените преимущества и недостатки каждой
- Научитесь выбирать оптимальный подход под бизнес-требования
- Поймете принципы работы messaging systems
-
09 занятие02.03.2026 19:00
Форматы хранения и передачи данных
- Разберете разные форматы передачи и хранения данных
- Сравните их сильные и слабые стороны
- Научитесь выбирать формат под конкретные требования
- Ознакомитесь с JSON/XML/Binary, Thrift, Protobuf, Avro
-
10 занятие05.03.2026 19:00
Хранилища данных
- Разберете разницу между relational и document-based моделями
- Поймете отличия declarative и imperative языков запросов
- Ознакомитесь с графовыми моделями данных
- Научитесь выбирать соответствующее хранилище данных под требования системы
-
11 занятие12.03.2026 19:00
Специализированные структуры данных
- Разберете отличия хранения в памяти и на диске
- Поймете принципы современных систем доступа к данным
- Научитесь повышать эффективность через специализированные структуры
- Освоите использование кэшей для оптимизации
- Разберете, когда блум-фильтры уместны, а когда нет
-
12 занятие16.03.2026 19:00
Аналитика и Big Data: хранение данных
- Разберете особенности хранения данных для аналитики
- Поймете роль column-oriented storages
- Различите Data Warehouse и Data Lake
- Научитесь выбирать модели Stars, Snowflakes и Data Marts
- Освоите базовые принципы Big Data хранилищ
-
13 занятие19.03.2026 19:00
Пакетная обработка данных (Batching)
- Поймете сущность batch-процессинга
- Разберете, когда пакетная обработка наиболее эффективна
- Овладеете принципами MapReduce
- Научитесь применять Spark
- Поймете, как оптимизировать batch-процессы
-
14 занятие23.03.2026 19:00
Поточная обработка данных (Streaming)
- Разберете понятие state, stream и immutability
- Поймете принцип stream/table duality
- Научитесь определять, когда требуется стриминг
- Овладеете Apache Kafka для поточной обработки
- Сравните messaging systems
- Разберете принципы Lambda-архитектур
-
15 занятие26.03.2026 19:00
Distributed data: CAP-теорема
- Поймете, для чего распределяют данные
- Освоите CAP-теорему и ее ограничения
- Научитесь объяснять компромиссы между CA/P
- Примените CAP в проектировании систем
- Разберете PACELC и его влияние на архитектуру
-
16 занятие30.03.2026 19:00
Distributed data: транзакции
- Разберете принципы ACID
- Изучите различные уровни изоляции и их последствия
- Научитесь выбирать оптимальную изоляцию под требования
- Различите single- и multi-object операции
- Поймете принципы сериализации в распределенных системах
-
17 занятие02.04.2026 19:00
Distributed data: репликация и сегментирование
- Разберете основы секционирования данных
- Поймете принципы репликации и их влияние на систему
- Научитесь выбирать тип репликации под бизнес-требования
- Освоите стратегии ребалансирования
- Разберете принципы parallel query execution
-
18 занятие06.04.2026 19:00
Distributed data: целостность и консенсус
- Поймете типы целостности данных
- Разберете принципы консенсуса в распределенных системах
- Научитесь выбирать модель целостности под бизнес-задачи
- Оцените проблемы одновременной записи и способы их решения
- Ознакомитесь с Paxos и Raft и их применением
- Разберете принципы распределенных транзакций
-
19 занятие13.04.2026 19:00
Презентация курсового проекта
- Разберете все этапы создания архитектуры высоконагруженных систем
- Научитесь презентовать архитектурное решение
- Освоите формирование требований и построение High-level и Low-level дизайна
- Научитесь описывать метрики и алертинг
- Разберете технические требования к хранилищу (репликация, транзакции, PACELC)
- Научитесь аргументировать архитектурные решения перед аудиторией
Регистрация
Регистрируйтесь на курс, чтобы научиться масштабировать архитектуру и сохранять стабильность системы даже во время пиковых нагрузок.