Що нового?

Придбаний System design [Тариф Стандарт] [Balun.Courses] [Повтор]

Інформація про покупку
Тип покупки: Складчина
Ціна: 34267 ГРН
Учасників: 0 з 15
Організатор: Відсутній
Статус: Набір учасників
Внесок: 2375.8 ГРН
0%
Основний список
Резервний список

Gadzhi

Модератор
System design [Тариф Стандарт] [Balun.Courses] [Повтор]



Знакомая ситуация?
  • На собеседованиях middle+ просят пройти system design интервью, а я ничего не знаю
  • На работе нужно создавать высоконагруженные системы, а у меня не хватает опыта и знаний
  • Есть база по system design, но не разбираюсь в сложных темах и деталях. Не могу спроектировать большую систему / не понимаю, правильно делаю или нет
  • Не понимаю, как работают сложные приложения и сервисы по типу «WhatsApp», «ВКонтакте», «Google Drive»
  • Толком не понимаю, что такое репликация и шардирование, а также все, что с этим связано
  • Не могу проявить себя на работе при обсуждении высоконагруженных систем — мало знаний и нечего сказать
95% вопросов по system design закроешь на этом обучении
  • Подготовишься к прохождению System Design интервью — поймешь из чего оно состоит, узнаешь его особенности и научишься проходить его на реальной практике
  • Узнаешь, как проектируются большие отказоустойчивые высоконагруженные системы
  • Познакомишься с огромным количеством паттернов и приемов проектирования высоконагруженных систем
  • Узнаешь, как работают репликация, шардирование, транзакции и многое другое
  • Научишься устанавливать требования для высоконагруженных систем, считать нагрузку и ресурсы, проектировать API, модель данных и всю систему в целом
  • Повысишь текущий уровень зарплаты и увеличишь свою ценность в компании, как специалиста
Программа:
  • Урок 1. Основы проектирования систем
  • Урок 2. Кэширование, API и Observability
  • Урок 3. Хранение и поставка данных
  • Урок 4. Распределение хранение данных
  • Урок 5. Паттерны и приемы проектирования
  • Урок 6. Проектирование популярных систем
  • Урок 7. Проектирование популярных систем
  • Урок 8. Проектирование популярных систем
Урок 1. Основы проектирования систем

Свойства информационных систем
  • Надежность
  • Масштабируемость
  • Производительность
  • Удобство сопровождения
  • Безопасность
Критерии информационных систем
  • Data / compute intensive системы
  • Read / write intensive системы
  • Low latency системы
  • High throughput системы
Балансировка нагрузки
  • клиентская / серверная
  • DNS и geoDNS балансировка
  • L4 / L7 балансировка
  • алгоритмы балансировки - random / round robin / weighted round robin / least connections / least response time / least bandwidth / sticky sessions / power of two choises
Проксирование
  • forward / reverse
  • Функциональные и нефункциональные требования
  • Расчет нагрузки
Результат:
  • знаешь основные критерии и свойства информационных систем, без которых невозможно спроектировать большую отказоустойчивую систему.
  • разбираешься в балансировке нагрузки и проксировании, а также умеешь устанавливать требования к системе и считать нагрузку.
Бонус:
  • вместе установим функциональные и нефункциональные требования для одного популярного приложения, а также оценим будущую нагрузку на него.
Урок 2. Кэширование, API и Observability

Кэширование
  • внутреннее / внешнее
  • кэширование ошибок
  • эффективность кэширования
  • thundering herd problem
  • многомерные кэш
  • алгоритмы вытеснения - алгоритм Белади (OPT), random, LRU, SLRU, TLRU, LRU-k, MRU, LFU, LIFO, FIFO, 2Q, Second Chance, Clock
  • инвалидация - по TTL / по событию / версионирование кэша / тегирование кэша
  • взаимодействие с кэшем - cache aside / cache through / cache ahead
API
  • CRUD
  • Under / over fetching
  • SOAP / REST / RPC / GraphQL
  • Polling / long polling / streaming (SSE, WebSockets)
  • Версионирование API
  • Идемпотентность
Observability
  • Метрики / Логи / Трейсы
  • Алертинг
  • Непрерывное профилирование
Результат:
  • разбираешься в кэшировании, а также понимаешь основные проблемы при его использовании.
  • умеешь проектировать API и мониторить сервисы.
Бонус:
  • вместе спроектируем REST API для одного из популярных приложений.
Урок 3. Хранение и поставка данных

Виды баз данных
  • Реляционные
  • Документоориентированные
  • Key-value
  • Time series
  • Колоночные
  • Wide-column
  • Object storage
Характеристики баз данных
  • ACID / BASE
  • OLAP / OLTP / HTAP
  • Persistent / in-memory базы данных
  • Embedded / single file базы данных
Индексы
  • BTree / Hash / Bitmap / Spatial / Reversed
  • кластерные / некластерные
  • селективность индекса
  • функциональные
  • покрывающие
  • разряженные
Транзакции
  • WAL
  • Deferrable
  • MVCC / 2PL
  • Изоляции транзакций - READ_UNCOMMITTED / READ_COMMITTED / REPEATABLE_READ / SERIALIZABLE
Очереди сообщений
  • Сценарии использования
  • Гарантии доставки
  • Data retention
Паттерны хранения и поставки данных
  • Сжатие данных
  • Охлаждение данных
  • Запись батчами
  • Расчет железа
  • Хранимые процедуры
  • Materialized view
  • Тригеры
Результат:
  • понимаешь, где их и как лучше хранить данные, а также сколько потребуется железа для хранения.
  • знаешь различные виды баз данных, а также понимаешь, когда и какую из них следует выбирать на практике.
Бонус:
  • вместе спроектируем базу данных одного из популярных приложений, а также посчитаем сколько потребуется железа для хранения данных приложения.
Урок 4. Распределение хранение данных

Репликация
  • синхронная / асинхронная / полу-синхронная
  • с одним ведущим узлом / с несколькими ведущими узлами / без ведущих узлов
  • логическая (SBR / RBR) / физическая
  • hot standby / warm standby
  • фильтрация репликаций
  • split brain
  • failover
Партиционирование
  • Вертикальное / горизонтальное
  • Range based / key based / directory based
Шардирование
  • перебалансировка (virtual buckets)
  • resharding (consistent / randezvous hashing)
  • роутинг (client / proxy / coordinator routing)
Бэкапы
  • CAP теорема
  • PACELC теорема
  • CDN (Content Delivery Network)
  • CDC (Change Data Capture)
Результат:
  • понимаешь, как хранить данные распределенно на нескольких хостах, а также умеешь считать, сколько потребуется хостов для хранения этих данных.
Бонус:
  • вместе выберем стратегии репликации и шардирования базы данных одного из популярных приложений, а также посчитаем сколько потребуется хостов для хранения данных.
Урок 5. Паттерны и приемы проектирования

Архитектура информационных систем
  • Файл-сервер / клиент-сервер / P2P
Паттерны развертывания сервисов
  • Rolling / blue-green / канареечный
Архитектура бэкенда
  • Монолитная / микросервисная (MSA) / SOA
Событийно-ориентированная архитектура
  • Event notification / state transfer / event collaboration
Консенсус
  • Выбор лидера
  • Распределенная блокировка
  • Распределенные транзакции - SAGA хореография и оркестрация / 2PC / 3PC
Асинхронные паттерны
  • point-point / pub-sub / request-response
  • отложенное выполнение задач
  • Dead letter queue
Паттерны отказоустойчивости
  • fallback
  • bulkheads
  • backpressure
  • self-healing
  • rate limiting
  • retries (backoff)
  • feature toggles
  • circuit breaker
  • gracefull degradation
Результат:
  • знаешь различные паттерны и приемы проектирования, которые используются практически во время любого процесса проектирования системы
Бонус:
  • вместе найдем применимость этим паттернам и приемам проектирования в настоящих системах.
Урок 6. Проектирование популярных систем
  • Проектирование ленты друзей ВКонтакте
  • Проектирование WhatsApp
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы и понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.

Урок 7. Проектирование популярных систем
  • Проектирование Boocking.com
  • Проектирование Google Drive
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы и понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.

Урок 8. Проектирование популярных систем
  • Проектирование Яндекс.Такси
  • Проектирование Leetcode
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы и понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.
Тариф Стандарт
  • 8 практических уроков
  • Проектирование 6-ти систем
  • Подготовка к System Design интервью
  • Финальный проект
Цена 51400 руб.
https://balun.courses/courses/system_design

Повтор:
 
Угорі