Системный дизайн начинается с вопроса «а что, если?»
Что, если пользователей станет в десять раз больше? База перестанет отвечать? Сообщение придёт дважды? Учимся выбирать архитектуру и понимать её компромиссы.
Где хранить данные? Что кэшировать?
Как пережить отказ?
Меньше догадок.
Больше практики.
В игре вы получаете задачу, собираете архитектуру из блоков и запускаете нагрузку. Отчёт показывает узкие места, ошибки и компромиссы решения. Начните с личных заметок и переходите к более сложным сервисам.
Выбрать задачу в игреПолезные материалы
От интерфейса между сервисами —
к архитектуре всей системы.
Наши проекты
Инструменты и обучение по API и интеграциям.
Web API Интеграции
Инструменты для работы с API, спецификациями и данными. Пригодятся, когда архитектуру нужно связать с конкретными запросами.
Тренажёр Web API
Практика работы с веб-API: от запросов к пониманию взаимодействия сервисов.
Наш курс на Stepik
Курс по Web API и интеграциям: разберитесь, как системы обмениваются данными.
Внешние источники
Материалы других авторов для самостоятельного изучения.
System Design Space
Открытая библиотека: основы архитектуры, распределённые системы, базы данных и задачи на проектирование.
System Design Primer
Открытый репозиторий с темами для подготовки к интервью и примерами задач по проектированию систем.
Блог о системном дизайне
Все разборыЧто почитать и посмотреть, на что обратить внимание и как связать теорию с практикой.
System Design Primer: как превратить чтение в практику
Краткий разбор открытого справочника: как выбрать задачу и проверить понимание архитектурных компромиссов.
Читать разбор