Этап 12 из 15
Системный дизайн
Основа
Масштабирование, согласованность, микросервисы, надёжность и оценка нагрузки.
Системный дизайн — как собрать из сервисов, баз, кэшей и очередей систему, которая выдерживает нагрузку, переживает отказы и развивается. На собеседованиях middle+ почти всегда есть секция «спроектируйте …».
Структура ответа на секции: требования (функциональные и нагрузочные) → оценка нагрузки → высокоуровневая архитектура → модель данных и API → узкие места и масштабирование → отказоустойчивость → компромиссы.
Темы этапа
- Масштабирование и оценка нагрузки Основа
Вертикальное и горизонтальное масштабирование, stateless-сервисы, оценка на салфетке.
- Согласованность и CAP Основа
CAP и PACELC, уровни согласованности, CQRS и Event Sourcing.
- Микросервисы Основа
Монолит против микросервисов, границы сервисов, взаимодействие и цена распределённости.
- Надёжность Основа
Таймауты, повторы, circuit breaker, идемпотентность, деградация и отказоустойчивость.
← Вся карта «Backend-разработчик»