Cross-Cutting Tensions¶
These tensions appear across multiple domains, indicating fundamental trade-offs that cannot be eliminated - only managed.
Consistency vs. Availability¶
Appears in:
Flexibility vs. Simplicity¶
Appears in:
Generality vs. Efficiency¶
Appears in:
Inheritance vs. Composition¶
Appears in:
Latency vs. Throughput¶
Appears in:
Safety vs. Liveness¶
Appears in:
Security vs. Performance¶
Appears in:
Simplicity vs. Capability¶
Appears in:
Simplicity vs. Performance¶
Appears in:
Time vs. Space¶
Appears in:
About Tensions¶
Every domain in this compendium begins with its fundamental tensions. These represent the core trade-offs engineers face - situations where improving one dimension inevitably affects another.
Understanding tensions is more valuable than memorizing solutions because:
- They're timeless: The tension between consistency and availability will exist as long as there are distributed systems
- They transfer: The same tension may appear in different forms across domains
- They frame decisions: Once you recognize the tension, you can make informed trade-offs rather than cargo-culting solutions
When you encounter a new domain or technology, look for its fundamental tensions. They'll tell you what problems it's actually solving.