Дисциплина «Высоконагруженный бэкенд» формирует у обучающихся системное понимание принципов проектирования, разработки и эксплуатации распределённых серверных систем, функционирующих под экстремальной нагрузкой. Программа охватывает полный цикл работы с HighLoad-приложениями: от анализа узких мест и архитектурного проектирования до обеспечения отказоустойчивости, мониторинга и оптимизации производительности в production-среде.
Цель освоения дисциплины
Формирование у обучающихся профессиональных компетенций в области проектирования, реализации и сопровождения высоконагруженных серверных приложений, способных обрабатывать интенсивный поток запросов с заданными показателями задержки и надёжности.
Планируемые результаты обучения
Обосновывает выбор архитектурного стиля для заданного профиля нагрузки, выявляет потенциальные узкие места проектируемой системы на ранних этапах, формулирует требования к компонентам с учётом ожидаемых показателей производительности.
Проектирует схему распределения нагрузки между экземплярами сервиса, конфигурирует балансировщик для заданных требований, интерпретирует результаты нагрузочного тестирования и делает выводы о достижимости целевых показателей.
Выбирает стратегию шардирования и репликации для заданного профиля данных и запросов, оптимизирует схему индексов под конкретные запросы, обосновывает выбор типа хранилища с учётом требований к согласованности и доступности.
Проектирует многоуровневую схему кэширования для типового сценария чтения, выбирает стратегию инвалидации, минимизирующую рассогласование данных, выявляет и предотвращает сценарии деградации кэша под нагрузкой.
Реализует асинхронное взаимодействие между сервисами через брокер сообщений, обеспечивает идемпотентную обработку с учётом возможных повторных доставок, обосновывает выбор семантики доставки для конкретного бизнес-сценария.
Проектирует сервис с учётом возможных отказов зависимостей, реализует механизмы изоляции и деградации, проводит эксперимент по искусственному внесению отказов и анализирует поведение системы.
Настраивает сбор метрик и визуализацию для разработанного сервиса, формулирует SLI и SLO для ключевых сценариев, проектирует систему алертов, минимизирующую ложные срабатывания и обеспечивающую достаточное покрытие инцидентов.
Содержание учебной дисциплины
Архитектурные принципы высоконагруженных систем
Масштабирование и балансировка нагрузки
Хранение данных в высоконагруженных системах
Кэширование и снижение задержек
Асинхронное взаимодействие и брокеры сообщений
Отказоустойчивость и деградация под нагрузкой
Наблюдаемость и эксплуатация
Элементы контроля
Практическая работа №1
Экзамен
Практическая работа №2
Промежуточная аттестация
2026/2027 4th module
0.3 * Практическая работа №1 + 0.3 * Практическая работа №2 + 0.4 * Экзамен
Чистая архитектура. Искусство разработки программного обеспечения - 978-5-4461-0772-8 - Мартин Р. - 2019 - Санкт-Петербург: Питер - https://ibooks.ru/products/361841 - 361841 - iBOOKS
Рекомендуемая дополнительная литература
Масштабируемые данные. Высоконагруженные архитектуры, Data Mesh и Data Fabric. 2-е изд. - 978-601-09-9693-9 - Стренгхольт Питхейн - 2025 - Астана: Спринт Бук - https://ibooks.ru/products/399830 - 399830 - iBOOKS
Распределённые системы управления базами данных : учебное пособие / С. А. Красников, К. В. Гусев, И. И. Фандеев [и др.]. — Москва : РТУ МИРЭА, 2023. — 70 с. — ISBN 978-5-7339-1752-8. — Текст : электронный // Лань : электронно-библиотечная система. — URL: https://e.lanbook.com/book/368636 (дата обращения: 00.00.0000). — Режим доступа: для авториз. пользователей.
Программа дисциплины
Аннотация
Цель освоения дисциплины
Планируемые результаты обучения
Содержание учебной дисциплины
Элементы контроля
Промежуточная аттестация
Список литературы
Рекомендуемая основная литература
Рекомендуемая дополнительная литература
Авторы