Skip to content

Карта изучения архитектуры и проектирования систем

MiddleSeniorОбзор ~18 мин

Architecture и System Design образуют один путь. Сначала мы определяем свойства, границы и варианты системы, затем проверяем решение числами, механизмами хранения, распределения и эксплуатации.

АРХИТЕКТУРА И ПРОЕКТИРОВАНИЕ СИСТЕМ

От системных свойств к готовому к эксплуатации проекту

Единый путь связывает архитектурные факторы, границы и эволюцию с расчётами, данными, распределёнными механизмами и практическими задачами.

Темы
499
Разделы
21
Этапы
6
01

Понять силы

Определить заинтересованные стороны, факторы, ограничения и атрибуты качества.

ОсновыАрхитектурные факторыАтрибуты качестваМоделирование
02

Сформировать структуру

Выбрать границы, стили, предметную модель и интеграционные контракты.

ПринципыСтилиDDDИнтеграция
03

Оценить масштаб

Перевести нагрузку в ресурсы, хранение, кэш и партиционирование.

ОценкаХранениеКэшированиеРепликация
04

Разобрать распределение

Работать с согласованностью, порядком, консенсусом и сообщениями.

ВремяСогласованностьКонсенсусПотоковая обработка
05

Подготовить к эксплуатации

Спроектировать надёжность, безопасность, эксплуатацию и эволюцию.

ОтказыВосстановлениеБезопасностьМодернизация
06

Закрепить решения

Спроектировать систему целиком и защитить принятые компромиссы.

Практические задачиADRРевьюТехническое лидерство
Полный трек499 тем
01

Основы

Мышление, свойства и базовые силы

24 тем
02

Архитектурные факторы

Требования, ограничения и сценарии

20 тем
03

Моделирование

Представления, C4, ADR и документация

18 тем
04

Принципы и паттерны

Связность, зависимости и паттерны

28 тем
05

Архитектурные стили

Монолит, сервисы и событийная архитектура

24 тем
06

Предметно-ориентированное проектирование (DDD)

Ограниченные контексты и предметная модель

25 тем
07

Интеграция и данные

Контракты, сообщения и владение

26 тем
08

Эволюция и надёжность

Отказоустойчивость, миграция и модернизация

24 тем
09

Эксплуатационная архитектура

Безопасность, производительность и эксплуатация

22 тем
10

Практика и техническое лидерство

Ревью, управление и влияние

25 тем
01

Постановка задачи

Требования, границы и ограничения

20 тем
02

Оценка нагрузки и ресурсов

QPS, хранение, пропускная способность и бюджеты

18 тем
03

Пограничный слой и API

Клиенты, протоколы, шлюзы и контракты

24 тем
04

Хранение и моделирование данных

Модели, базы данных и шаблоны доступа

28 тем
05

Кэширование

Размещение, инвалидация и горячие ключи

18 тем
06

Репликация и партиционирование

Масштабирование, локальность и перебалансировка

24 тем
07

Основы распределённых систем

Время, согласованность и консенсус

28 тем
08

Сообщения и потоковая обработка

Очереди, журналы, доставка и обработка

25 тем
09

Надёжность

Отказы, перегрузка, восстановление и DR

24 тем
10

Безопасность и эксплуатация

Доверие, наблюдаемость, развёртывание и стоимость

24 тем
11

Практические задачи проектирования

Системы разных классов целиком

30 тем

Сквозная модель проектирования

Диаграмма

Как проходить трек

  1. Зафиксируйте problem statement и quality attribute scenarios.
  2. Определите границы ответственности и ownership данных.
  3. Оцените workload, storage, bandwidth и latency budget.
  4. Выберите механизмы, явно записав alternatives и trade-offs.
  5. Пройдите failure, security, observability и cost review.
  6. Зафиксируйте решение в ADR и определите fitness functions.
  7. Выполните design case и защитите решение через сценарии отказа.

Результат обучения

После полного трека вы сможете не только нарисовать компоненты, но и объяснить:

  • какие drivers сформировали структуру;
  • почему выбран конкретный data и consistency model;
  • где находятся bottlenecks и failure domains;
  • как система масштабируется, наблюдается и восстанавливается;
  • как решение будет эволюционировать без big-bang rewrite.

Полная программа находится в progress.md.