Balun.Courses / Владимир Балун - System Design. Тариф Стандарт (2023)

Описание
Знакомая ситуация?
- На собеседованиях middle+ просят пройти system design интервью, а я ничего не знаю
- На работе приходится принимать участие в проектировании сложной системы, а у меня нет знаний в этой области, ничем не могу помочь
- Есть база по system design, но западают сложные темы и детали. Не могу правильно спроектировать большую систему / не понимаю, правильно делаю или нет
- Не понимаю, как работают большие сложные сервисы по типу «Телеграм», «Яндекс.Такси», «Ozon»
- Не понимаю, как работают транзакции, репликация, шардирование, консенсус в сети
- Не могу проявить себя на работе, когда обсуждают большие системы. Нет знаний в этой области
На этом курсе 95% вопросов по system design вопросов по system design ты закроешь На этом курс:
- Подготовишься к трудоустройству в топовую IT-компанию на позицию middle+ – поймешь, из чего состоит system design интервью и научишься проходить его на реальной практике
- Узнаешь, как проектируются большие отказоустойчивые высоконагруженные системы
- Познакомишься с огромным количеством паттернов и приемов проектирования
- Узнаешь, как работают репликация, шардирование, транзакции и многое другое
- Научишься устанавливать требования к системе, считать нагрузку, проектировать API, базу данных и всю систему в целом
- Повысишь уровень ЗП и свою ценность в компании, как специалиста
Программа:
- Файл-сервер / клиент-сервер / P2P
- Надежность / масштабируемость / производительность / безопасность систем
- Масштабирование (вертикальное / горизонтальное)
- Монолитные и микросервисные приложения
- Stateless и statefull сервисы
- Latency и Throughput
- SLA / SLO / SLI
- Data / compute intensive приложения
- Балансировка нагрузки (клиентская), (DNS и geoDNS балансировка), (l4 / l7), (round robin / weighted round robin / least connections / least response time / least bandwidth / sticky sessions)
- Проксирование (forward / reverse)
- Кеширование (внутренее / внешнее), (lazy caching / write-through / read-through / write-around), (Алгоритм Белади, LRU, SLRU, MRU, LFU, LIFO, FIFO, 2Q, MQ)
- API (SOAP, REST, gRPC, GraphQL), (under / over fetching)
- Observability (мониторинг, логирование, трейсинг, непрерывное профилирование, анализ сбоев)
Результат: знаешь основные компоненты и термины, без понимая которых невозможно представить дизайн большой отказоустойчивой системы.
Бонус: вместе спроектируем API для одного из популярных приложений.
Урок 2. Хранение данных
- OLAP / OLTP
- Data retention
- Поисковые движки
- Реляционные / документоориентированные / key-value / графовые / временных рядов / колоночные / Blob storage базы данных
- Persistent и in-memory базы данных
- Embedded и single file базы данных
- Индексы (BTree / Hash / Bitmap / Spatial / Inverted), (кластерные / некластерные), (покрывающие)
- ACID и BASE
- Транзакции (WAL), (MVCC, 2PL), (Deferrable)
- Constraints (NOT NULL, UNIQUE, FOREIGN KEY, CHECK, DEFAULT)
- Хранимые процедуры, триггеры и materialized view
- Изоляции транзакций (READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE)
- Брокеры сообщений (Kafka, RabitMQ)
- CDN
Результат: понимаешь, как и где хранить данные — разберешь различные базы данных, их устройство, и поймешь, когда и какую из них следует выбирать на практике.
Бонус: на уроке вместе спроектируем базу данных одного из популярных приложений
Урок 3. Распределенное хранение данных
- Бэкапы
- CAP теорема
- Strong / Eventual Consistency
- Репликация (синхронная / асинхронная / полу-синхронная), (с одним ведущим узлом / с несколькими ведущими узлами / без ведущих узлов), (statement based / row based / mixed), (логическая / физическая), (pull / push), (failover), (hot standby)
- Replication lag (чтение собственных записей / монотонное чтение / согласованное префиксное чтение)
- Фильтрация репликаций
- Вертикальное и горизонтальное партиционирование
- Шардирование (range based / key based / directory based), (client / proxy / coordinator routing)
- Перебалансировка (virtual buckets)
- Resharding (consistent / randezvous hashing)
- Внутреннее устройство кластера Kafka
- CDC (Debezium
Результат: понимаешь, как хранить данные распределенно на нескольких компьютерах, зачем это нужно и какие из-за этого могут возникнуть проблемы.
Бонус: на уроке вместе выберем стратегии репликации и шардирования базы данных одного из популярных приложений.
Урок 4. Паттерны и приемы проектирования
- CQRS
- Pub / sub
- Low-latency и High-troughput приложения
- Realtime и пакетная обработка запросов
- Map Reduce
- Service discovery
- Push и pull модель
- Толстый клиент
- Тегирование и версионирование кэша
- Трехзвенная архитектура
- Отложенное выполнение задач
- Polling / long polling / streaming
- Retries (идемпотентность / backoff)
- Circuit breaker
- Gracefull degradation (fallback)
- Rolling, Blue/Green и Canary релизы
- Cобытийно-ориентированная архитектура (Event Notification / State Transfer / Event Collaboration)
- Консенсус (распределенная блокировка / выбор лидера / распределенные транзакции)
Результат: знаешь различные паттерны и приемы проектирования, которые используются практически в любом дизайне системы.
Бонус: вместе найдем применимость этим паттернам и приемам проектирования в настоящих системах, а также спроектируем рекомендательную систему и система автодополнения слов.
Урок 5. Дизайн популярных систем
- Дизайн Telegram
- Дизайн ленты друзей ВКонтакте
- Дизайн Яндекс Go
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы, понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.
Урок 6. Дизайн популярных систем#2
- Дизайн LeetCode
- Дизайн Booking.com
- Дизайн Google Drive
Результат: применяешь все знания с уроков на практике, умеешь строить большие высоконагруженные системы, понимаешь, как спроектированы популярные сервисы, которыми ты пользуешься каждый день.
🛑 Авторизуйтесь или зарегистрируйтесь и Вы получите ссылку не только на почту, но и на странице товара.
🤔 Есть сомнения в инфопродукте? В качестве гарантии можем отправить дополнительные скриншоты, любой видео файл или сделать запись с экрана содержимого на облаке.
🔆 Нашли дешевле в другом месте? Сделаем цену ещё ниже чем там где вы нашли!
✍🏻 По всем вопросам, в том числе с оплатой и получением - писать в Telegram (кликабельно), в чат на сайте (в нижнем правом углу) или на почту admin@coursx.net Мы всегда на связи!
Поделиться страницей
Также смотрите
Часто задаваемые вопросы
Другие инфопродукты
Гарантируем быструю доставку заказа на ваш Email.
Гарантируем самые низкие цены. Сделаем цену ниже если нашли дешевле.
Заказы принимаются круглосуточно!
Безопасная оплата и получение заказа.