АРХИТЕКТУРА ВЫСОКИХ НАГРУЗОК
Опыт и инсайты от инженера из eBay, который более 20 лет разрабатывает программное обеспечение
Олег Муравский
Principal Data Architect в eBay

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

В ПРОГРАММУ КУРСА ВХОДЯТ
-
01
РАЗБОР АРХИТЕКТУР
Узнаете, какие технологии лежат в основе масштабируемых и отказоустойчивых систем. Научитесь применять и адаптировать современные highload-практики.
-
02
РАЗРАБОТКА СОБСТВЕННОЙ АРХИТЕКТУРЫ
Построите архитектуру, которая способна выдержать большой трафик, сможете оптимизировать процессы на вашей текущей работе и определять стоимость внедрения технических решений под задачи бизнеса.
-
03
ДИЗАЙН ДЛЯ BIG DATA
Будете изучать архитектуру высоких нагрузок на реальных кейсах. Вы научитесь хранить, обрабатывать и анализировать Big Data, а также распределять нагрузку на систему.
лектор
ОЛЕГ МУРАВСКИЙ
Principal Data Architect в eBay
20+ лет опыта разработки программного обеспечения
-
соавтор двух стандартов RFC по RPKI
-
занимался европейским реестром IP-адресов, проектами RIPEstat и RIPE Atlas
-
разрабатывал глобальную инфраструктуру открытых ключей для безопасной маршрутизации
-
работал над хранилищами данных для крупнейших в мире измерений интернета
Программа
-
01 занятие27.05.2025 19:00
Введение в высокопроизводительные системы
- поймете, что такое высокопроизводительные системы
- изучите базовые термины, которые применяют в архитектуре систем
- узнаете, какие задачи стоят перед архитектором высокопроизводительных систем
- научитесь собирать и документировать требования к программе/системе
-
02 занятие30.05.2025 19:00
Основы архитектурного дизайна
- разберете основные проблемы высоконагруженных систем
- рассмотрите функциональные и нефункциональные требования к системе
- узнаете, из каких элементов состоит система
- научитесь выполнять базовые расчеты для оценки необходимых ресурсов системы
- изучите принципы масштабирования и балансировки нагрузки
- создадите базовую архитектуру системы в Figma
-
03 занятие03.06.2025 19:00
Базовые архитектуры
- узнаете, почему архитектура выстраивается от требований к системе
- поймете, как масштабировать систему
- ознакомитесь с основными архитектурами
-
04 занятие06.06.2025 19:00
Модели доступа к данным
- узнаете, какие различия существуют между моделями доступа к данным
- поймете преимущества и недостатки того или иного подхода
- научитесь выбирать лучший вариант, учитывая требования бизнеса
-
05 занятие10.06.2025 19:00
Форматы хранения и передачи данных
- поймете разницу между различными форматами хранения и передачи данных
- разберете преимущества и недостатки того или иного подхода
- научитесь выбирать лучший вариант, учитывая требования бизнеса
-
06 занятие13.06.2025 19:00
Специализированные структуры данных
- узнаете, как повысить эффективность обработки данных с помощью структур данных
- поймете, как построены современные системы доступа к данным
- рассмотрите Cache, Bloom filter, Log, LSM-tree
-
07 занятие17.06.2025 19:00
Базы данных
- поймете разницу между relational и document-based моделями хранения данных
- выясните, чем отличаются declarative и imperative query languages
- будете иметь представление о графовых моделях данных
- научитесь выбирать лучший вариант хранения данных, учитывая требования к системе
-
08 занятие20.06.2025 19:00
Distributed Data: транзакции
- узнаете, что такое ACID
- поймете, чем отличаются уровни изоляции
- научитесь выбирать уровень изоляции, учитывая требования бизнеса
-
09 занятие24.06.2025 19:00
Аналитика и Big Data: хранение данных
- поймете, в чем особенность хранения данных для аналитики
- выясните, зачем нужны column-oriented storages
- научитесь выбирать подходящую модель хранения данных, учитывая бизнес-требования
-
10 занятие27.06.2025 19:00
Пакетная обработка данных
- узнаете, что такое batch-процессинг и в чем его особенности
- рассмотрите такие инструменты, как MapReduce и Spark
-
11 занятие01.07.2025 19:00
Distributed Data: САР-теорема
- узнаете, для чего приходится разделять данные и с какими проблемами справляется такой подход
- разберете CAP-теорему
-
12 занятие04.07.2025 19:00
Distributed Data: репликация и секционирование
- поймете основы секционирования
- освоите различные стратегии ребалансировки, изучите их плюсы и минусы
- узнаете, какие готовые решения существуют на рынке и используют ту или иную стратегию
- научитесь выбирать лучший вариант, учитывая требования бизнеса
-
13 занятие08.07.2025 19:00
Distributed Data: целостность и консенсус
- поймете, что такое целостность данных в распределенных системах
- ознакомитесь с типами целостности данных, их преимуществами и недостатками
- научитесь выбирать оптимальный вариант, учитывая требования бизнеса
- выясните, что такое консенсус в распределенных системах
- получите представление о популярных алгоритмах консенсуса, таких как Paxos и Raft
-
14 занятие11.07.2025 19:00
Потоковая обработка данных
- узнаете, зачем нужна потоковая обработка данных
- разберете понятия state, stream и immutability
- рассмотрите различные messaging systems, их преимущества и недостатки
- научитесь пользоваться Apache Kafka
-
15 занятие15.07.2025 19:00
CQRS и Event Sourcing
- узнаете, что такое Event Stream / Event Sourcing
- разберете, в каких ситуациях используют Event Sourcing
-
16 занятие18.07.2025 19:00
Мониторинг, метрики и алертинг
- поймете, в чем важность мониторинга и грамотно настроенных уведомлений
- узнаете разные виды метрик и в чем отличие метрик и логов
- разберетесь в системах мониторинга
-
17 занятие01.08.2025 19:00
Презентация курсового проекта
- создадите и защитите архитектуру выбранного или своего проекта
Регистрация
Регистрируйтесь на курс, чтобы научиться масштабировать архитектуру и сохранять стабильность системы даже во время пиковых нагрузок.