Files
Lotty/ADR/02-context.md
T
2026-02-24 17:53:14 +03:00

1.3 KiB

2. Контекст и границы

Внутри системы

  • Один backend-контейнер (Django + Django Ninja API).
  • Доменные модули в apps/*, HTTP-слой в api/v1/*.
  • Хранение: реляционная БД (PostgreSQL в целевом окружении, SQLite по умолчанию локально).
  • Кэш/брокер: Redis/Valkey в целевом окружении, LocMem cache локально/в тестах.
  • Фоновые задачи: Celery worker/beat (guardrails, notifications, cleanup pending).

Внешние акторы

  • Product client: вызывает POST /api/v1/decide, отправляет POST /api/v1/events.
  • Experimenter/Approver/Admin/Viewer: управляют экспериментами и смотрят результаты через API.
  • Каналы уведомлений: Telegram API и SMTP.
  • Система наблюдаемости: скрейпинг /metrics, чтение структурированных логов.

Служебные контракты

  • GET /health: liveness.
  • GET /ready: readiness (cache, db, storage, celery ping).
  • GET /metrics: prometheus endpoint.

Явная граница фактов

Документация привязана к текущей реализации в src/backend.