← Ко всем open source проектам

System Design Primer

donnemartin/system-design-primer

System Design Primer — учебный репозиторий по проектированию масштабируемых систем и подготовке к system design interview.

Форки 56,616
Автор donnemartin
Язык Python
Лицензия NOASSERTION
Обновлено 2026-06-07

Что это такое

System Design Primer — репозиторий для изучения проектирования масштабируемых систем. Он объясняет базовые строительные блоки backend-архитектуры: балансировку нагрузки, кеширование, базы данных, очереди, CDN, consistency, latency и типовые tradeoffs.

Проект появился на GitHub в феврале 2017 года и стал особенно известен среди людей, готовящихся к system design interview. Его удобно читать не как академический учебник, а как обзор практических тем, которые часто всплывают при проектировании веб-сервисов.

Чеклист перед system design обсуждением

Такой список помогает не начинать с технологии, а сначала уточнить требования и ограничения.

Язык: Markdown
- What are the core use cases?
- What read/write volume should we expect?
- What can be cached?
- What data must stay consistent?
- Where are the failure points?

Почему полезен

Сильная сторона репозитория — он связывает термины с решениями. Вместо “надо знать Redis и Kafka” читатель видит, какие проблемы решают кеши, очереди, репликация и шардинг.

Для интервью это помогает говорить структурно: требования, API, данные, масштабирование, отказоустойчивость, bottlenecks. Для реальной работы — напоминает, что architecture discussion начинается с нагрузки и ограничений, а не с модных сервисов.

Ограничения

Это не заменяет опыт эксплуатации. Реальная архитектура зависит от команды, бюджета, данных, latency, compliance и уже существующей инфраструктуры. Репозиторий даёт хороший mental model, но не готовые ответы для любой системы.