Системный дизайн
Как делать системный дизайн на практике: пошаговый метод от требований и оценок к схеме, словарь строительных блоков с их ценой, сквозной пример уведомлений, защита дизайна.
Зачем для UCP. Прежде чем писать спеку и код сервиса, систему надо спроектировать: числа, хранилища, стрелки, отказы. Этот раздел — практический метод дизайна; его выходы (схема, развилки, поведение) дальше живут в ADR и UCP-спеках. Соответствует фазе 3 программы.
Раздел разбит на четыре статьи: метод, словарь блоков, сквозной пример, оформление результата. Это «как проектировать»; парный раздел «Архитектурный выбор» — «как решать конкретные развилки» внутри этого процесса.
Статьи раздела
- Метод: шаг за шагом — девять шагов от требований к архитектуре и четыре принципа, которые держат процесс.
- Строительные блоки и их цена — кеш, репликация, шардинг, очереди, поиск, аналитика: что покупает, чем платится, по какому числу появляется.
- Сквозной пример: система уведомлений — весь метод на одной задаче, от салфетки до таблицы отказов.
- Оформление и защита: design doc, C4, ревью — как дизайн становится решением.
Связанное
- Архитектурный выбор — развилки шагов 5–6: хранилища, sync/async, веб-стек.
- Модель C4 — язык диаграмм для схемы.
- Распределённые паттерны — outbox, saga, идемпотентность в связках блоков.
- Use Case Pattern — куда уезжает поведение после ревью дизайна.