System Design
От монолита до распределённых систем
Проектируйте системы, которые выдерживают нагрузку и масштабируются. Декомпозиция монолита, выбор баз данных, отказоустойчивость и масштабирование -- на примере CloudMesh.
Компания: CloudMesh
Облачная инфраструктурная платформа
Senior Level
Для опытных инженеров 3+ лет
Архитектура систем
Проектирование и масштабирование
Программа
Что вы освоите
Принципы проектирования систем, которые работают надёжно под нагрузкой.
Декомпозиция монолита
Выделение bounded contexts, определение границ сервисов, стратегия поэтапной миграции без остановки продакшена.
Выбор базы данных
PostgreSQL vs. NoSQL vs. NewSQL: trade-offs для разных сценариев. Шардинг, репликация, консистентность и доступность.
Отказоустойчивость
Circuit breakers, retries, fallbacks, graceful degradation. Как проектировать системы, которые продолжают работать при сбоях.
Масштабирование
Горизонтальное и вертикальное масштабирование, кэширование, очереди сообщений, CQRS и event sourcing.
Навыки
Навыки, которые вы получите
Архитектурные паттерны
Distributed systems
Проектирование БД
Отказоустойчивость
Масштабирование
Design docs и ADR
Проектируйте системы, а не просто пишите код
Senior-инженер думает на уровне системы. Научитесь принимать архитектурные решения осознанно.