System Design
Тонкие механизмы реляционных БД на примере postgresql
▶️ SQL и NoSQL: когда и что выбирать
▶️ Погружение в PostgreSQL
▶️ Партиционирование
▶️ Шардирование
Углубленное изучение NoSQL
▶️ NoSQL: виды, как выбирать
▶️ Погружение в MongoDB
▶️Разбор модели данных, выбор БД, data model своей системы, ключевые сценарии чтения/записи
Observability и нагрузочное тестирование
▶️ Реализуем наблюдаемость в нашем проекте
▶️ Изучаем прометеус и графану
▶️ Изучаем нагрузочное тестирование
▶️ Настраиваем метрики
▶️ Настраиваем k6
Кэш и консистентность
▶️ Виды и уровни кеширования
▶️ Strong consistency и eventual consistency
▶️ Идемпотентность и дедупликация
▶️Разбор стратегий кэширования в прикладной системе
Высокая нагрузка, масштабирование, отказоустойчивость
▶️ Метрики, логи, трассировки, алерты
▶️ RPS, p95/p99, error rate, queue lag
▶️ поиск bottleneck по метрикам
▶️ throughput, latency, bottleneck
▶️ вертикальное vs горизонтальное
▶️ разгрузка БД (replica, cache)
▶️ stateless-сервисы
▶️ сглаживание пиков нагрузки
▶️ Таймауты / retry / backoff
▶️ Circuit breaker / fallback / bulkhead
▶️ Очередь перед внешним API
▶️ Happy path vs failure path
▶️ Graceful degradatio
Расписание курсов
Чему вы научитесь
- sytem design. Партиционирование. Шардирование. noSQL. Observability. k6. Кеширование. Radis. Отказоустойчивость.
- Circuit breaker / fallback / bulkhead
