На этом курсе начнут с основ. Сначала объяснят, что такое высокопроизводительные системы и какие задачи решает их архитектор. Студенты научатся собирать и документировать требования к системе. Далее разберут, почему архитектура строится именно от этих требований. Рассмотрят основные принципы масштабирования и познакомятся с фундаментальными архитектурными подходами.
Здесь углубятся в то, как система взаимодействует с информацией. Разберут различные модели доступа к данным, их сильные и слабые стороны. Далее сравнят форматы хранения и передачи данных, чтобы понимать, какой выбор будет оптимальным для конкретных бизнес-потребностей. Отдельный блок посвящен базам данных - студенты научатся различать реляционные, документные и графовые модели, а также выбирать правильный инструмент для своих задач.
Этот модуль покажет, как повысить эффективность работы с данными с помощью специализированных структур. Студенты поймут принципы построения современных систем доступа. Затем перейдут к аналитике и Big Data, где узнают об особенностях хранения данных для аналитических целей, в частности о column-oriented хранилищах и критериях их выбора.
Модуль охватывает ключевые аспекты работы с распределенными данными. Сначала студенты узнают, зачем нужно разделять данные и какие проблемы это решает. Разберут CAP-теорему - фундаментальный принцип распределенных систем. Далее пойдет речь о репликации и секционировании, включая стратегии ребалансировки и готовые рыночные решения.
Здесь рассмотрят, как обеспечить надежность в распределенных системах. Студенты изучат ACID свойства и уровни изоляции транзакций, научатся их выбирать. Затем перейдут к вопросам целостности данных и алгоритмов консенсуса, таких как Paxos и Raft, которые позволяют распределенным узлам договариваться о состоянии системы.
Этот блок посвящен методам обработки больших объемов информации. Студенты поймут разницу между batch- и stream-процессингом. Узнают о модели MapReduce и системах обмена сообщениями. Затем углубятся в stream-обработку, разберут понятие состояния, потока данных и неизменяемости.
На завершающих этапах рассмотрят сложные архитектурные паттерны. Студенты узнают, что такое CQRS и Event Sourcing, и в каких случаях их применяют. Последний модуль посвящен мониторингу, метрикам и алертингу - важным инструментам для поддержки живой системы. Здесь объяснят разницу между метриками и логами, а также разберут системы мониторинга.
Курс завершается практическим заданием. Каждый студент создаст собственную архитектуру для реального или учебного проекта и презентует ее, получив фидбек от преподавателя.
Курс сосредоточен на технологиях Highload и включает значительную практическую составляющую. Студенты не только изучат теорию, но и разработают собственную архитектуру. Программа нацелена на карьерное рост, а каждый участник получает персональный фидбек от лектора и методиста на протяжении всего обучения.