Содержание курса
1. Введение в System Design
1 урок
0
0
0м
0
Открытый
1.1
Введение в проектирование систем
↗
0
0
-
0
2. Балансировка нагрузки (Load Balancing)
8 уроков
0
0
0м
0
Открытый
2.1
Введение в балансировку нагрузки
↗
0
0
-
0
Открытый
2.2
Алгоритмы балансировки нагрузки
↗
0
0
-
0
Открытый
2.3
Применение балансировки нагрузки
↗
0
0
-
0
Открытый
2.4
Типы балансировщиков нагрузки
↗
0
0
-
0
Открытый
2.5
Stateless и Stateful балансировка нагрузки
↗
0
0
-
0
Открытый
2.6
Высокая доступность и отказоустойчивость
↗
0
0
-
0
Открытый
2.7
Масштабируемость и производительность
↗
0
0
-
0
Открытый
2.8
Проблемы и вызовы балансировщиков нагрузки
↗
0
0
-
0
3. API Gateway
3 урока
0
0
0м
0
Открытый
3.1
Введение в API Gateway
↗
0
0
-
0
Открытый
3.2
Применение API Gateway
↗
0
0
-
0
Открытый
3.3
Преимущества и недостатки API Gateway
↗
0
0
-
0
4. Масштабируемость, доступность и отказоустойчивость
7 уроков
0
0
0м
0
Открытый
4.1
Масштабируемость (Scalability)
↗
0
0
-
0
Открытый
4.2
Доступность (Availability)
↗
0
0
-
0
Открытый
4.3
Задержка и производительность
↗
0
0
-
0
Открытый
4.4
Конкурентность и координация
↗
0
0
-
0
Открытый
4.5
Мониторинг и наблюдаемость
↗
0
0
-
0
Открытый
4.6
Устойчивость и обработка ошибок
↗
0
0
-
0
Открытый
4.7
Отказоустойчивость vs Высокая доступность
↗
0
0
-
0
5. Сетевые протоколы и идентификаторы ресурсов
4 урока
0
0
0м
0
Открытый
5.1
HTTP vs HTTPS
↗
0
0
-
0
Открытый
5.2
TCP vs UDP
↗
0
0
-
0
Открытый
5.3
Версии HTTP: 1.0, 1.1, 2.0 и 3.0
↗
0
0
-
0
Открытый
5.4
URL, URI и URN: различия и применение
↗
0
0
-
0
6. Система доменных имён (DNS)
3 урока
0
0
0м
0
Открытый
6.1
Введение в DNS
↗
0
0
-
0
Открытый
6.2
Процесс DNS-разрешения
↗
0
0
-
0
Открытый
6.3
Балансировка нагрузки DNS и высокая доступность
↗
0
0
-
0
7. Кэширование
9 уроков
0
0
0м
0
Открытый
7.1
Введение в кэширование
↗
0
0
-
0
Открытый
7.2
Почему кэширование важно
↗
0
0
-
0
Открытый
7.3
Типы кэширования
↗
0
0
-
0
Открытый
7.4
Политики вытеснения из кэша
↗
0
0
-
0
Открытый
7.5
Инвалидация кэша
↗
0
0
-
0
Открытый
7.6
Стратегии чтения из кэша
↗
0
0
-
0
Открытый
7.7
Когерентность кэша и модели консистентности
↗
0
0
-
0
Открытый
7.8
Проблемы и вызовы кэширования
↗
0
0
-
0
Открытый
7.9
Метрики производительности кэша
↗
0
0
-
0
8. CDN (Content Delivery Network)
4 урока
0
0
0м
0
Открытый
8.1
Что такое CDN
↗
0
0
-
0
Открытый
8.2
Origin Server и Edge Server
↗
0
0
-
0
Открытый
8.3
Архитектура CDN
↗
0
0
-
0
Открытый
8.4
Push CDN vs Pull CDN
↗
0
0
-
0
9. Партиционирование данных
5 уроков
0
0
0м
0
Открытый
9.1
Введение в партиционирование данных
↗
0
0
-
0
Открытый
9.2
Методы партиционирования
↗
0
0
-
0
Открытый
9.3
Техники шардинга данных
↗
0
0
-
0
Открытый
9.4
Преимущества партиционирования данных
↗
0
0
-
0
Открытый
9.5
Проблемы партиционирования данных
↗
0
0
-
0
10. Прокси-серверы
3 урока
0
0
0м
0
Открытый
10.1
Что такое прокси-сервер
↗
0
0
-
0
Открытый
10.2
Применения прокси-серверов
↗
0
0
-
0
Открытый
10.3
VPN vs прокси-сервер
↗
0
0
-
0
11. Репликация и избыточность
4 урока
0
0
0м
0
Открытый
11.1
Что такое избыточность (Redundancy)
↗
0
0
-
0
Открытый
11.2
Что такое репликация
↗
0
0
-
0
Открытый
11.3
Методы репликации
↗
0
0
-
0
Открытый
11.4
Резервное копирование vs аварийное восстановление
↗
0
0
-
0
12. CAP-теорема
6 уроков
0
0
0м
0
Открытый
12.1
Введение в CAP-теорему
↗
0
0
-
0
Открытый
12.2
Компоненты CAP-теоремы
↗
0
0
-
0
Открытый
12.3
Компромиссы в CAP-теореме
↗
0
0
-
0
Открытый
12.4
Примеры CAP-теоремы на практике
↗
0
0
-
0
Открытый
12.5
За пределами CAP-теоремы
↗
0
0
-
0
Открытый
12.6
Компромиссы System Design на собеседованиях
↗
0
0
-
0
13. Базы данных
10 уроков
0
0
0м
0
Открытый
13.1
Введение в базы данных
↗
0
0
-
0
Открытый
13.2
SQL базы данных
↗
0
0
-
0
Открытый
13.3
NoSQL базы данных
↗
0
0
-
0
Открытый
13.4
SQL vs NoSQL
↗
0
0
-
0
Открытый
13.5
Свойства ACID vs BASE
↗
0
0
-
0
Открытый
13.6
Примеры из реальной жизни и кейсы
↗
0
0
-
0
Открытый
13.7
Нормализация и денормализация SQL
↗
0
0
-
0
Открытый
13.8
In-Memory БД vs On-Disk БД
↗
0
0
-
0
Открытый
13.9
Репликация данных vs Зеркалирование данных
↗
0
0
-
0
Открытый
13.10
Федерация баз данных
↗
0
0
-
0
14. Индексы баз данных
6 уроков
0
0
0м
0
Открытый
14.1
Что такое индексы
↗
0
0
-
0
Открытый
14.2
Типы индексов
↗
0
0
-
0
Открытый
14.3
Введение в фильтры Блума
↗
0
0
-
0
Открытый
14.4
Преимущества и ограничения фильтров Блума
↗
0
0
-
0
Открытый
14.5
Варианты и расширения фильтров Блума
↗
0
0
-
0
Открытый
14.6
Применения фильтров Блума
↗
0
0
-
0
15. Распределённые паттерны
6 уроков
0
0
0м
0
Открытый
15.1
Long Polling, WebSockets и Server-Sent Events
↗
0
0
-
0
Открытый
15.2
Кворум (Quorum) в распределённых системах
↗
0
0
-
0
Открытый
15.3
Heartbeat: обнаружение сбоев
↗
0
0
-
0
Открытый
15.4
Контрольная сумма (Checksum)
↗
0
0
-
0
Открытый
15.5
Применение контрольных сумм (Uses of Checksum)
↗
0
0
-
0
Открытый
15.6
Паттерн Leader-Follower (Лидер и Последователь)
↗
0
0
-
0
16. Безопасность и конфиденциальность
7 уроков
0
0
0м
0
Открытый
16.1
Безопасность и конфиденциальность в системах
↗
0
0
-
0
Открытый
16.2
Аутентификация (Authentication)
↗
0
0
-
0
Открытый
16.3
Авторизация (Authorization)
↗
0
0
-
0
Открытый
16.4
Аутентификация vs Авторизация: сравнение
↗
0
0
-
0
Открытый
16.5
OAuth vs JWT для аутентификации
↗
0
0
-
0
Открытый
16.6
Шифрование (Encryption)
↗
0
0
-
0
Открытый
16.7
DDoS-атаки и защита от них
↗
0
0
-
0
17. Системы обмена сообщениями и Kafka
6 уроков
0
0
0м
0
Открытый
17.1
Введение в системы обмена сообщениями
↗
0
0
-
0
Открытый
17.2
Введение в Kafka
↗
0
0
-
0
Открытый
17.3
Паттерны обмена сообщениями
↗
0
0
-
0
Открытый
17.4
Популярные системы очередей сообщений
↗
0
0
-
0
Открытый
17.5
RabbitMQ vs Kafka vs ActiveMQ
↗
0
0
-
0
Открытый
17.6
Масштабируемость и производительность
↗
0
0
-
0
18. Сравнения технологий и архитектур
11 уроков
0
0
0м
0
Открытый
18.1
Что такое распределённая файловая система
↗
0
0
-
0
Открытый
18.2
Архитектура распределённой файловой системы
↗
0
0
-
0
Открытый
18.3
Ключевые компоненты DFS
↗
0
0
-
0
Открытый
18.4
Пакетная обработка vs потоковая обработка
↗
0
0
-
0
Открытый
18.5
XML vs JSON
↗
0
0
-
0
Открытый
18.6
Синхронная vs асинхронная коммуникация
↗
0
0
-
0
Открытый
18.7
Push vs Pull системы уведомлений
↗
0
0
-
0
Открытый
18.8
Микросервисы vs бессерверная архитектура
↗
0
0
-
0
Открытый
18.9
Очереди сообщений vs сервисная шина
↗
0
0
-
0
Открытый
18.10
Stateful vs Stateless архитектура
↗
0
0
-
0
Открытый
18.11
Событийная архитектура vs Polling
↗
0
0
-
0