# Eventual Consistency

Record: `arch:eventual-consistency`
Kind: model
Layer: [Execution Core](https://banes-lab.com/records/layer/execution-core.md)
Severity: contextual
Scope: distributed system, data
Canonical: https://banes-lab.com/ontology#arch-eventual-consistency

## Repair

- Refactored by: Add Projection, Add Reconciliation, Add Saga
- Detected by: synchronous compensation hacks
- Violated by: assuming immediate cross-service consistency
- Measured by: convergence time, inconsistency window
- Enforced by: consistency tests

## requires

- [Idempotency](https://banes-lab.com/records/arch/idempotency.md)
- [Retry](https://banes-lab.com/records/lex/retry.md)
- [Reconciliation](https://banes-lab.com/records/lex/reconciliation.md)

## reinforces

- [Availability](https://banes-lab.com/records/lex/availability.md)
- [Scalability](https://banes-lab.com/records/arch/scalability.md)

## enables

- [Distributed Autonomy](https://banes-lab.com/records/lex/distributed-autonomy.md)

## tensions-with

- [User Expectations](https://banes-lab.com/records/lex/user-expectations.md)
- [Strong Immediate Consistency](https://banes-lab.com/records/lex/strong-immediate-consistency.md)

## tensions

- [Eventual Consistency User Expectations](https://banes-lab.com/records/tension/eventual-consistency-user-expectations.md)
- [Eventual Consistency Strong Immediate Consistency](https://banes-lab.com/records/tension/eventual-consistency-strong-immediate-consistency.md)

## referenced-by

- [CRDTs](https://banes-lab.com/records/arch/crdts.md)
- [CAP Theorem](https://banes-lab.com/records/arch/cap-theorem.md)
- [CQRS](https://banes-lab.com/records/arch/command-query-responsibility-segregation.md)
- [Saga Pattern](https://banes-lab.com/records/arch/saga-pattern.md)
- [Idempotent Consumer](https://banes-lab.com/records/arch/idempotent-consumer.md)
