Проектирование систем

King

Администратор
5 Янв 2016
185.061
855.421
Складчина: Проектирование систем



Курс для тебя, если:

Имеешь базовые знания в проектировании систем
Хочешь уйти с галеры и работать в Big Tech
Желаешь избавиться от страха перед проектированием
В результате:

Проектируешь высоконагруженные системы и грамотно выбираешь между разными подходами
Готов к System Design секции в Big Tech
Являешься востребованным специалистом на рынке
Проектировать не сложно! Мы научим:

Без прочтения тонны литературы
Без десятка проваленных секций
С четким маршрутом, который сделает проектирование кристально понятным!
Программа:


Спойлер: Программа:
0 неделя: Введение в проектирование систем

Термины, термины, термины
В проектировании все пестрит словами, которые ты мог до этого не знать. Разложим по полочкам все MAU/DAU/RPS/NFR и много чего еще. Чтобы дальше ты уверенно понимал любой design doc

Масштабирование системы
Мы не будем ограничиваться одним серверов и посмотрим, как наша система будет работать в рамках распределенности

Расчеты — база для проектирования
Не умеешь считать нагрузку на чтение и запись? Или же не уверен, а что вообще нужно считать еще? Разберем все по полочкам, чтобы не упускать особенности системы
Спроектируем твою первую систему вместе!

0 неделя: Мини-курс по Kafka

Почему это важно
Kafka — самый популярный message broker современности. Им пользуются PayPal, LinkedIn и многие другие BigTech. Разберем на примере из практики пошаговое внедрение и улучшение

Одна Kafka в поле не воин
А вместе с паттернами микросервисов очень даже. Изучим, как их применять вместе для создания системы с нагрузкой 10k RPS/write

Kafka + DB = много проблем
Покажу, как незнание особенностей БД может привести к проблемам при росте нагрузке и как этого избежать

Вездесущая кросс-кластерная синхронизация
Все Big Tech компании держат системы в разных кластерах. Посмотрим, как данные перетекают из одного в кластера в другой и как здесь участвует Kafka
1 неделя: Путь от клиента до нашей системы

Почему это важно
Без понимания данного процесса невозможно выстроить масштабируемую систему. Именно здесь будут наши первые шаги, чтобы выстроить надежную систему, которая будет справляться с нагрузкой и адаптироваться под разные формы нагрузки

Разберемся в сетях
Многие считают, что сети ушли в прошлое. Но без этого знания ты не сможешь построить систему, которая работает на несколько континентов. Также сети лежат в основе балансировки. А еще нам нужно понимать, что важнее: скорость (UDP) и надежность (TCP)

Выбираешь правильный способ балансировки — где-то важнее скорость, а где-то умное распределение
Именно от правильной балансировки будет зависеть распределение нагрузки на твой backend. А еще благодаря autoscaling ты сможешь учитывать увеличение реплик приложения

Учитываешь возможные скачки нагрузки
Бывает, что нагрузка на систему выше, чем мы закладывали. Именно тогда вступает в силу rate limiting и load shedding
2 неделя: Разберем микросервисную архитектуру и основные паттерны

Почему это важно
Микросервисы — они везде. Без понимания, как их строить, когда они нужны, а когда нет — невозможно представить современного senior разработчика

Разберем CAP теорему и модели консистентности
При разработке распределенных систем важно понимать правила, по которым они работают. Нормально ли, что часть системы будет содержать неактуальные данные. А стоит ли нам закрывать систему на запись, если произошла авария в ДЦ

Виды интеграций
В реалиях современной разработки обычный REST over HTTP далеко не всегда подходит. Разберем с тобой другие формы коммуникации, а также посмотрим на их сильные и слабые стороны, так как не бывает ультимативного оружия
3 неделя: Поговорим про системы хранения данных и как можно их оптимизировать

Почему это важно
Без хранения данных невозможно представить практически никакую систему. И здесь кроются детали: как выбрать наиболее правильный формат, как работа с индексами может помочь нам. А еще есть кеширование, которое позволит оптимизировать IO нагрузку на систему

Будешь понимать, что БД — не черный ящик
БД это такой же сервис, который делится на слои. Для отладки и тонкой настройки нам нужно понимать, где и как происходят процессы внутри этой системы

Оптимизация работы БД
Ненастроенная БД без всяких настроек может и вывезет MVP, но при высоких нагрузках нам нужно применять дополнительные подходы: индексирование, пулы соединений, партицирование и шардирование — все это разберем, чтобы ты мог проектировать системы от 10k RPS

Кеширование как база в современных системах
Большинство систем, которыми ты пользуешься, под капотом держат кеш для оптимизации работы. Но недостаточно поставить кеш и забыть. Нужно продумать политику очистки кеша, ограничить его объем
4 неделя: Событийная архитектура и основные паттерны

Почему это важно
Событийная архитектура идет рука об руку с микросервисами. Большая часть паттернов и подходов связана именно с ней

EDA или event driven architecture
Для работы с "событийкой" нам необходимо понять элементы системы. Также у данного подхода огромное число особенностей, не зная которых можно сделать некачественную систему

CQRS, event sourcing, transactional outbox — лишь вершина айсберга
Посмотрим с тобой, как устроены паттерны поверх базовой "событийки". А также как их стоит сочетать с остальной архитектурой

SAGA — те же транзакции, только для микросервисов
В распределенных системах ты не можешь все делать в рамках одной транзакции. Нам нужны новые способы настройки этого механизма. Посмотрим, как это делается и в каких системах можно применить
5 неделя: Все вокруг надежности и мониторинга нашей системы

Почему это важно
Надежность и прозрачность текущего состояния системы — must-have. Без это тебя не пустят в production.

SRE — 3 буквы, за которыми стоит uptime систем
Работа с надежностью и здоровьем системы — обязанность каждого разработчика. Мы вооружимся всем необходимым для этого: SLO, postmortem, RED и много чего еще

Security не только в ИБ
Нужно понимать базовые принципы обеспечения безопасности системы. А также какие механизмы существуют

CDN или как улучшить UX клиента
Netflix разработал собственный CDN для хранения контента. Это необходимый механизм, без которого Spotify, Pinterest не смогли бы работать


Тариф База

Теория: лонгриды по всем темам
Видеоматериалы
Примеры 3 систем (мессенджер, соцсеть, лента)
Финальный проект с эталонным решением
Автоматизированная проверка тестов
Цена 34900 руб.




СЛИВ СКЛАДЧИН
 

О нашем клубе SkladchikVIP.com

  • Привет!) SkladchikVIP.com, пожалуй, одно из крупнейших сообществ. Это клуб по заработку денег и обмену полезной информации. Самая большая база инфопродуктов рунета. Чтобы скачать любой материал на сайте, нужно зарегистрироваться.

Полезные ссылки

Меню пользователя