Курс Архітектура високих навантажень
- Online
- Для досвідчених
- Lead / Architect / CTO
![]() |
|
| Навчальний центр: | Robot Dreams |
|---|---|
| Формат: | Курс |
| Мова викладання: | Ukrainian |
| Тривалість навчання: | 19 занять |
| Початок курсу: | Уточнюйте |
| Вартість навчання: | Уточнюйте |
Подробиці та реєстрація
На курсі навчитеся проєктувати системи на старті так, щоби вони могли масштабуватись у будь-який момент і водночас коректно працювати.
Програма курсу
Вступ до високопродуктивних систем і вимоги до архітектури
- Зрозумієте, що таке високопродуктивні системи та архітектура високих навантажень
- Опануєте базові терміни архітектури
- Розберете проблеми високонавантажених систем
- Навчитеся визначати функціональні та нефункціональні вимоги
- Потренуєте back-of-the-envelope розрахунки
Архітектурні стилі й типові архітектури
- Розберете моноліт, n-шарову архітектуру та SOA
- Порівняєте мікросервіси та Serverless Architecture
- Опануєте CQRS, Commands та Queries
- Зрозумієте, як працює Event Sourcing
- Навчитесь обирати архітектурний стиль під вимоги системи
Моніторинг, метрики та алертинг
- Розберете Logging, Metrics і Monitoring та їхню роль у високонавантажених системах
- Навчитеся визначати метрики для системи
- Зрозумієте, як налаштовувати Alerting
- Опануєте базовий підхід System Reliability Engineering (SRE)
- Розберете, як контролювати стабільність системи
Вертикальне масштабування
- Зрозумієте, коли працює вертикальне масштабування
- Розберете його переваги та обмеження
- Навчитеся визначати сценарії для Vertical Scaling
- Опануєте патерни вертикального масштабування
- Розберете, як підготувати систему до зростання навантаження
Горизонтальне масштабування
- Зрозумієте, коли потрібне горизонтальне масштабування
- Розберете переваги та ризики Horizontal Scaling
- Навчитеся визначати умови для масштабування системи
- Опануєте патерни горизонтального масштабування
- Розберете, як розподіляти навантаження між компонентами за допомогою Load Balancer та Auto Scaling
Масштабування в глибину (in-depth scaling)
- Зрозумієте, що таке In-depth Scaling.
- Розберете переваги та обмеження підходу
- Опануєте патерни масштабування в глибину
- Навчитеся декомпозувати систему на компоненти
- Проведете trade-off аналіз архітектурних рішень
Способи доступу до даних
- Розберете прямий доступ до бази даних
- Зрозумієте, як працює інкапсуляція даних через сервіси
- Порівняєте REST, RPC та Messaging Systems
- Навчитесь обирати модель доступу до даних
- Опануєте базові принципи роботи Messaging Systems
Формати зберігання та передачі даних
- Розберете JSON, XML та Binary Formats
- Порівняєте Thrift, Protocol Buffers та Avro
- Зрозумієте, коли використовувати Parquet та Iceberg
- Навчитесь обирати формат під задачу системи
- Опануєте переваги та обмеження різних форматів даних
Сховища даних
- Розберете Key-Value, Relational і Document Models
- Зрозумієте, як працюють Graph-like Data Models
- Опануєте Column-oriented Storage, Lucene, Solr, Elasticsearch та Index-based Storages
- Порівняєте Declarative та Imperative Query Languages
- Навчитесь обирати сховище під вимоги системи
Кешування даних
- Зрозумієте, для чого системі кешування
- Розберете топології кешування
- Порівняєте переваги та недоліки різних підходів
- Опануєте Caching, Cache-aside і типові реалізації кешів
- Навчитеся визначати ризики кешування
Спеціалізовані структури даних
- Розберете LSM-tree та B-tree Index
- Зрозумієте, як працюють Bloom Filters і Cuckoo Filters
- Опануєте Trie та Inverted Index
- Навчитеся підвищувати ефективність обробки даних
- Розберете, коли не варто використовувати Bloom Filters
Аналітика та Big Data: зберігання даних
- Розберете Data Warehouse, Data Lake, Lakehouse та Data Marts
- Зрозумієте, як працюють Data Marts
- Порівняєте Stars, Snowflakes і Data Vaults
- Опануєте Column-oriented Storage
- Навчитесь обирати модель даних під бізнес-вимоги
Пакетна обробка даних
- Зрозумієте, що таке Batch Processing
- Розберете принцип Move Computation to Data
- Опануєте MapReduce для обробки великих даних
- Познайомитеся з Apache Spark та принципами розподіленої пакетної обробки
- Навчитеся визначати задачі для пакетної обробки
Потокова обробка даних
- Розберете Messaging Systems для Streaming
- Зрозумієте Stream/Table Duality
- Опануєте Apache Kafka та принципи потокової обробки даних
- Розберете Lambda Architecture
- Навчитеся визначати задачі для потокової обробки
Distributed data: CAP-теорема
- Зрозумієте, навіщо розподіляти дані
- Розберете CAP-теорему
- Опануєте компроміси між Consistency, Availability й Partition Tolerance
- Познайомитеся з PACELC
- Навчитесь обирати модель узгодженості для розподіленої системи
Distributed data: транзакції
- Розберете ACID у розподілених системах
- Порівняєте Single-object і Multi-object Operations
- Опануєте рівні ізоляції транзакцій (Isolation Levels)
- Зрозумієте, як працює serializability
- Навчитесь обирати механізм Distributed Transactions під вимоги бізнесу
Distributed data: реплікація та сегментування
- Розберете принципи Replication даних
- Зрозумієте, як працюють Sharding і сегментування даних
- Опануєте Key-Value Data в розподілених системах
- Навчитесь обирати стратегію Rebalancing
- Розберете Parallel Query Execution
Distributed data: цілісність і консенсус
- Розберете Consistency Models
- Зрозумієте проблеми одночасного запису
- Опануєте принципи Consensus у розподілених системах
- Познайомитеся з Paxos та Raft
- Навчитесь обирати рівень цілісності даних під вимоги системи
Презентація курсового проєкту
- Презентуєте архітектуру свого проєкту
- Покажете High-level дизайн системи
- Поясните Low-level дизайн одного з компонентів
- Опишете Logging, Metrics, Monitoring та Alerting
- Аргументуєте вибір сховища, Replication, Sharding, Distributed Transactions, PACELC і моделі узгодженості
Особливості курсу
- Технології Highload
- Практика
- Кар'єра
- Фідбек від лектора та методиста
- Розробка власної архітектури
- Сертифікат про проходження курсу
Викладачі курсу
Артем Дорохін - Former Solutions Architect at Luxoft
Читайте нас в Telegram, щоб не пропустити анонси нових курсів.
Схожі курси
Навчальний центр
CyberBionic Systematics
Формат
Online
Початок навчання
Дата формується
Тривалість
16 годин
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
7 334 UAH за курс
Навчальний центр
Networking Technologies
Формат
Online
Початок навчання
Дату уточнюйте
Тривалість
4 днів
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Навчальний центр
Networking Technologies
Формат
Online
Початок навчання
Дату уточнюйте
Тривалість
4 днів
Рівень
Для досвідчених
Мова навчання
Ukrainian
Вартість
уточнюйте
Навчальний центр
Sigma Software University
Формат
Online
Початок навчання
Дату уточнюйте
Тривалість
2 місяців
Рівень
Для досвідчених
Мова навчання
Ukrainian, English
Вартість
36 000 UAH за курс
