Головна Школи Robot Dreams Архітектура високих навантажень
Robot Dreams

Архітектура високих навантажень

16 занять
Для досвідчених
Lead / Architect / CTO
Цей курс про проектування систем, які легко масштабуються. Ви навчитеся обирати архітектуру, формати даних та інструменти під конкретні задачі. Розберете, як працюють розподілені системи, моніторинг та обробка даних. Наприкінці створите власний проект.

Про курс

Програма курсу

Вступ до високопродуктивних систем та базові архітектури

На цьому курсі розпочнуть з основ. Спочатку пояснять, що таке високопродуктивні системи та які завдання вирішує їхній архітектор. Студенти навчаться збирати та документувати вимоги до системи. Далі розберуть, чому архітектура будується саме від цих вимог. Розглянуть основні принципи масштабування та познайомляться з фундаментальними архітектурними підходами.

Робота з даними: моделі, формати та бази даних

Тут заглибляться в те, як система взаємодіє з інформацією. Розберуть різні моделі доступу до даних, їхні сильні та слабкі сторони. Далі порівняють формати зберігання та передачі даних, щоб розуміти, який вибір буде оптимальним для конкретних бізнес-потреб. Окремий блок присвячений базам даних - студенти навчаться розрізняти реляційні, документні та графові моделі, а також обирати правильний інструмент для своїх завдань.

Спеціалізовані структури даних та аналітика

Цей модуль покаже, як підвищити ефективність роботи з даними за допомогою спеціалізованих структур. Студенти зрозуміють принципи побудови сучасних систем доступу. Потім перейдуть до аналітики та Big Data, де дізнаються про особливості зберігання даних для аналітичних цілей, зокрема про column-oriented сховища та критерії їх вибору.

Розподілені дані: основи та управління

Модуль охоплює ключові аспекти роботи з розподіленими даними. Спочатку студенти дізнаються, навіщо потрібно розділяти дані та які проблеми це вирішує. Розберуть CAP-теорему - фундаментальний принцип розподілених систем. Далі йтиме мова про реплікацію та секціонування, включаючи стратегії ребалансування та готові ринкові рішення.

Транзакції, цілісність та консенсус

Тут розглянуть, як забезпечити надійність у розподілених системах. Студенти вивчать ACID властивості та рівні ізоляції транзакцій, навчаться їх обирати. Потім перейдуть до питань цілісності даних та алгоритмів консенсусу, таких як Paxos і Raft, які дозволяють розподіленим вузлам домовлятися про стан системи.

Обробка даних: Batch та Stream

Цей блок присвячений методам обробки великих обсягів інформації. Студенти зрозуміють різницю між batch- та stream-процесингом. Дізнаються про модель MapReduce та системи обміну повідомленнями. Потім заглибляться в stream-обробку, розберуть поняття стану, потоку даних та незмінності.

CQRS, Event Sourcing та моніторинг

На завершальних етапах розглянуть складні архітектурні патерни. Студенти дізнаються, що таке CQRS та Event Sourcing, і в яких випадках їх застосовують. Останній модуль присвячений моніторингу, метрикам та алертингу - важливим інструментам для підтримки живої системи. Тут пояснять різницю між метриками та логами, а також розберуть системи моніторингу.

Захист курсового проєкту

Курс завершується практичним завданням. Кожен студент створить власну архітектуру для реального або навчального проєкту та презентує її, отримавши фідбек від викладача.

Особливості курсу

Курс зосереджений на технологіях Highload та включає значну практичну складову. Студенти не тільки вивчать теорію, а й розроблять власну архітектуру. Програма націлена на кар'єрне зростання, а кожен учасник отримує персональний фідбек від лектора та методиста протягом всього навчання.

Що включено

Вечірні заняття
Видається диплом/сертифікат
Реальний проект у портфоліо
Супровід ментора