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

  • 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 за курс