Перейти к содержанию

E-01 · Реестр организационных ограничений#

Ведётся с: 2026-09-16 · пополняется каждым ADR

Сюда выносятся записи «не используем, потому что…» из колонки «статус у нас» документов решений. Смысл выноса один: пока такая запись лежит внутри одного ADR, её не видит тот, кто через полгода снова предложит тот же инструмент. Разговор начинается с нуля, и заканчивается тем же выводом.

У каждой записи обязательны дата и условие пересмотра. Запись без условия пересмотра — это не решение, а запрет, и она устаревает молча.

Не используем#

Что Почему С какого ADR Условие пересмотра
Apache Cassandra Нет опыта эксплуатации, нет платформенной команды, выделенного дежурства нет ADR-0001 · 2026-09-16 Появилась платформенная команда или выделенное дежурство
Управляемое документное хранилище Не даёт выигрыша ни по одной оси выбора хранилища, проигрывает по операционной стоимости и гибкости запросов ADR-0001 · 2026-09-16 Появилась модель данных, плохо ложащаяся на реляционную — например, схемы залов произвольной структуры от организаторов
Управляемые сервисы других облачных провайдеров Один провайдер по решению компании ADR-0001 · 2026-09-16 Компания добавила или сменила провайдера
Самостоятельно разворачиваемые хранилища любого типа Эксплуатировать некому: четыре разработчика, дежурство по очереди ADR-0001 · 2026-09-16 То же, что у Cassandra
Микросервисы Нет наблюдаемости, трассировки и автоматического выката — для микросервисов это входное требование; одна команда на все кандидаты ADR-0002 · 2026-09-16 Появилась вторая команда-владелец или построены наблюдаемость, трассировка и автовыкат
Разрез по профилю нагрузки как граница сервиса Путь чтения не имеет своего языка, инвариантов и владельца данных: это проекция, а не ограниченный контекст. Решается кэшем ADR-0002 · 2026-09-16 У пути чтения появились собственные данные и собственный владелец
Движок оркестрации процессов Нет опыта у команды; процесс один, короткий и однотипный — своя таблица состояний дешевле ADR-0003 · 2026-09-16 Появился второй-третий длительный процесс или процесс стал жить дольше суток
Синхронное подтверждение оплаты Провайдер отвечает за секунды с хвостом в десятки; держать запрос пользователя столько в окно старта продаж нельзя ADR-0003 · 2026-09-16 Провайдер даёт синхронный ответ с гарантией по времени
Инвалидация кэша схемы зала удалением ключа 300 записей/с обнуляют ключ быстрее, чем он используется: время жизни 3 мс, hit ratio около нуля ADR-0004 · 2026-09-16 Частота записей в одну схему упала на порядок
Общий кэш для схемы зала Один горячий ключ — весь пик приходит на один узел кэша ADR-0004 · 2026-09-16 Ключей стало много и они равномерны

Используем#

Что С какого ADR
Управляемый PostgreSQL — источник истины ADR-0001 · 2026-09-16
Модульный монолит, границы модулей проверяются на сборке ADR-0002 · 2026-09-16
Ячейка aeo: асинхронно, итоговая согласованность, свой оркестратор — для процесса оплаты ADR-0003 · 2026-09-16
Локальный кэш схемы зала в процессе, TTL 1 с, single-flight ADR-0004 · 2026-09-16

Не рассматривали#

  • Деградация при отказе кэша — названа обязательной в ADR-0004, но как решение не принята: это отдельное продуктовое решение уровня W7, документа под него в наборе нет. До его принятия кэш вводить нельзя.

Раздел существует, чтобы отличать «решили не брать» от «до этого не дошли»: второе не является решением и не нуждается в условии пересмотра, но и ссылаться на него как на решение нельзя.


Замечание о форме#

Этот реестр — артефакт проекта, как и ADR: он описывает конкретную организацию, а не метод. Правило, по которому он заводится, живёт в D-01, раздел 4: когда записей «не используем» набирается больше десятка, они выносятся из документов решений в общий реестр.

Здесь их четыре после первого ADR, шесть после второго, восемь после третьего и десять после четвёртого — порог в «больше десятка» пройден к концу прогона, то есть примерно вчетверо быстрее, чем предполагалось при написании правила. Форма перенесена в метод: decisions/03-constraints-registry.md v1.0. Этот файл остаётся её первым заполненным экземпляром.