Системный дизайн

Системный дизайн начинается с вопроса «а что, если?»

Что, если пользователей станет в десять раз больше? База перестанет отвечать? Сообщение придёт дважды? Учимся выбирать архитектуру и понимать её компромиссы.

От запроса к системе
КлиентAPIСервис
КэшБаза данных

Где хранить данные? Что кэшировать?
Как пережить отказ?

Соберите свою первую схему

Меньше догадок.
Больше практики.

В игре вы получаете задачу, собираете архитектуру из блоков и запускаете нагрузку. Отчёт показывает узкие места, ошибки и компромиссы решения. Начните с личных заметок и переходите к более сложным сервисам.

Выбрать задачу в игре

Полезные материалы

От интерфейса между сервисами —
к архитектуре всей системы.

Наши проекты

Инструменты и обучение по API и интеграциям.

  • Инструментweb-api-integrations.ru

    Web API Интеграции

    Инструменты для работы с API, спецификациями и данными. Пригодятся, когда архитектуру нужно связать с конкретными запросами.

  • Инструментweb-api-simulator.ru

    Тренажёр Web API

    Практика работы с веб-API: от запросов к пониманию взаимодействия сервисов.

  • Курсstepik.org

    Наш курс на Stepik

    Курс по Web API и интеграциям: разберитесь, как системы обмениваются данными.

Внешние источники

Материалы других авторов для самостоятельного изучения.

  • Статьяsystem-design.space

    System Design Space

    Открытая библиотека: основы архитектуры, распределённые системы, базы данных и задачи на проектирование.

  • Статьяgithub.com

    System Design Primer

    Открытый репозиторий с темами для подготовки к интервью и примерами задач по проектированию систем.

Блог о системном дизайне

Все разборы

Что почитать и посмотреть, на что обратить внимание и как связать теорию с практикой.