ADR (Architecture Decision Records) concept page. Markdown в репо, фиксирующий context + decision + consequences. Lifecycle Proposed -> Accepted -> Deprecated/Superseded. Tooling: adr-tools, log4brains. Scenarios: writing ADR for Postgres vs Mongo, superseding RabbitMQ -> Kafka, onboarding via log4brains, anti-pattern of decisions in Slack threads.
ADR сохраняет мотивацию одной architecturally significant decision. Nygard’s original format uses Title, Context, Decision, Status и Consequences; proposed/accepted/deprecated/superseded are useful states. Markdown в Git и one-to-two pages — решения его проекта, а не обязательный стандарт для всех команд.
| Компонент | Ответственность |
|---|---|
| Decision Author and Stakeholders | Формулируют forces, scope, alternatives и decision owner. |
| ADR Record | Хранит title/status/context/decision/consequences и links. |
| Evidence and Alternatives | Содержит measurements, assumptions, rejected options и confidence. |
| Decision Review Gate | Проверяет scope, consequences, owner и acceptance criteria. |
| Implementation and Configuration | Реализует accepted decision с traceable link. |
| Architecture Fitness Check | Проверяет измеримые assumptions/constraints после принятия. |
| Superseding ADR | Ссылается на старое решение и объясняет изменившийся context. |
| Searchable Decision Index | Делает актуальный status и replacement discoverable. |
Author records facts/forces neutrally, alternatives and measurable assumptions before a decision is accepted. The ADR can be written before, during or after discovery as long as status and evidence are honest.
Проверяемый исход: Readers can distinguish facts, assumptions, options and the proposed response.
Review checks decision scope, positive/negative/neutral consequences, owner and verification plan. Acceptance means stakeholders chose it, not that technology guarantees the outcome.
Проверяемый исход: The accepted record names success/failure signals and known trade-offs.
A queue/broker decision uses measured workload, latency, durability and recovery tests. No fixed RabbitMQ ceiling is copied into the ADR as a universal product fact.
Проверяемый исход: Fitness checks detect when assumptions or consequences diverge from reality.
Changed forces lead to a new ADR. It links the old record, marks it superseded and preserves why the old decision was reasonable then.
Проверяемый исход: Search resolves the current decision while historical context remains auditable.
Числа здесь — размерностные формулы или явно помеченные учебные inputs. Паттерн архитектуры сам по себе не задаёт SLA, throughput, latency или fault tolerance.
[CONCEPT]evolutionary-architecture
ADR discipline improves traceability. It does not guarantee consensus, implementation conformance, current evidence, good architecture or any vendor performance number.
Введите числа или выберите пресет