Фоновый баннер
Заполнитель

Архитектор высоких нагрузок

Подробнее о курсе

Краткое описание курса
В процессе обучения рассматриваются типичные и нетривиальные проблемы архитектуры веб-приложений.

Цель курса
научиться писать рациональный и хорошо структурированный код,
приобрести навыки работы с алгоритмами и структурами данных, которые необходимы при реализации сложных проектов в крупных компаниях

Целевая аудитория курса
Программа создана специально для веб-разработчиков, тимлидов команд веб-разработки, архитекторов, технических руководителей и специалистов, которые интересуются SRE или работают в этой области.

Получаемые знания и навыки

  • создавать веб-приложения, которые легко масштабировать
  • обеспечивать отказоустойчивость веб-приложений даже при падении серверов
  • правильно использовать шаблоны (кеширование, реплицирование, шардирование, индексирование)
  • работать с инструментами, разработанными Google, Mail.Ru Group, Yandex

Необходимая предварительная подготовка

  • Владение одним из языков серверной разработки
  • Умение верстать сайты на базовом уровне
  • Навыки работы с SQL (составление запросов): в процессе обучения используется MySQL
  • Навыки работы с Linux

Краткое содержание курса

  • Введение в высокие нагрузки
  • Тема 1. Проблемы высоких нагрузок
  • Тема 2. Нагрузочное тестирование
  • Тема 3. Введение в высокие нагрузки
  • СУБД в высоконагруженных проектах
  • Тема 4. Индексы (часть 1)
  • Тема 5. Индексы (часть 2)
  • Тема 6. Репликация (часть 1)
  • Тема 7. Репликация (часть 2)
  • Тема 8. Репликация (часть 3)
  • Тема 9. Шардирование (часть 1)
  • Тема 10. Шардирование (часть 2)
  • Тема 11. Кеширование
  • Тема 12. Транзакции в реляционных СУБД
  • Тема 13. Очереди и отложенное выполнение
  • Тема 14. Очереди и отложенное выполнение (часть 2)
  • Тема 15. In-Memory СУБД
  • Тема 16. OLAP и OLTP
  • Тема 17. Обзор ClickHouse
  • Разработка бэкенда высоконагруженных сервисов
  • Тема 18. Паттерны декомпозиции системы на микросервисы
  • Тема 19. Когда нужны микросервисы, а когда монолиты
  • Тема 20. Протокол HTTP (часть 1)
  • Тема 21. Протокол HTTP (часть 2)
  • Тема 22. Принципы организации микросервисов. Типы взаимодействий
  • Тема 23. Балансировка и отказоустойчивость (часть 1)
  • Тема 24. Балансировка и отказоустойчивость (часть 2)
  • Тема 25. Использование асинхронности обработки
  • Тема 26. Распределенные транзакции
  • Тема 27. Инфраструктура микросервисов
  • Тема 28. Системы конфигурации
  • Тема 29. Мониторинг и алертинг
  • Типовые архитектуры
  • Тема 30. Новостной портал
  • Тема 31. Рекламная система
  • Тема 32. Почтовый сервис
  • Тема 33. Облачное хранилище
  • Тема 34. Сайт знакомств
  • Итоговый проект
  • Тема 35. Выбор темы и организация проектной работы
  • Тема 36. Консультация по проектам и домашним заданиям
  • Тема 37. Защита проектных работ

Отзывы по курсу