Эксперт: системный дизайн и C4¶
Матрица для подготовки дизайна решения, которое выдержит рост и аудит.
Каркас системного дизайна¶
- Цель и метрики: что меняем, целевой TPS/latency, SLA/SLI/SLO.
- Нагрузочный профиль: пиковые часы, RPS, размер данных, рост.
- Домен и ограничения: регуляторика, безопасность, PII, бюджет, дедлайны.
- Данные: источники, модели, консистентность, ретенция, архив.
- API/контракты: синхрон/асинхрон, форматы, версионирование, idempotency.
- Надёжность: retry/backoff, дедупликация, идемпотентность, очереди.
- Наблюдаемость: метрики, логи, трейсы, алерты.
C4: быстрый набор¶
- Level 1 (Context): кто пользователь/система вокруг, 5–7 блоков.
- Level 2 (Container): веб/мобайл/API/worker/DB/queue; технологии; почему так.
- Level 3 (Component): внутри ключевых сервисов — модули/кеши/адаптеры.
- Для документа — хватит Context + Container; Component — по важным сервисам.
Выбор интеграций¶
- Sync (REST/gRPC) — когда нужен быстрый ответ и строгие зависимые транзакции.
- Async (events/queue) — когда важна устойчивость к сбоям и декуплинг.
- Правила: идемпотентные хендлеры, корреляция (trace id), DLQ, ретраи с backoff.
Хранение и данные¶
- OLTP vs OLAP — разделяйте пути записи и аналитики.
- Валидация данных на входе + контрактные тесты.
- TTL/архив: сколько живут события, как чистим.
Масштабирование¶
- По чтению: кеш (in-memory/Redis), реплики, CDN для статики.
- По записи: шардирование/партиционирование, очереди, write-behind.
- Backpressure: ограничение входа, очереди, graceful degradation.
Безопасность¶
- Аутентификация/авторизация (OIDC/JWT), минимальные привилегии.
- Шифрование данных в покое и в пути, секреты в Secret Manager.
- Аудит действий и доступов.
План катирования¶
- Migration plan: как перейти с A на B без даунтайма (dual-write/dual-read).
- Rollout/rollback: фича-флаги, canary, версии API.
- Мониторинг после выката: ключевые SLI и бизнес-метрики.
Шаблон документа¶
- Цель и метрики.
- Арх. контекст (C4 L1).
- Контейнеры и стек (C4 L2).
- Критичные компоненты (C4 L3) + потоки данных.
- SLA/SLO/SLI, риски и компенсации.
- План запуска и отката.
Last update:
November 18, 2025