Software Architecture · System Design
How should consistency and availability tradeoffs be applied in a production system?
Classify invariants, use strong consistency where required, tolerate staleness where acceptable, and design reconciliation paths.