System Design Fundamentals¶
System design connects business requirements to measurable guarantees, capacity constraints, and failure behavior. These fundamentals provide the basis for comparing architecture options.
Core topics¶
- Requirements and constraints
- Functional vs non-functional requirements
- Scalability
- Latency
- Throughput
- Concurrency
- Availability
- Reliability
- Durability
- Consistency
- CAP
- PACELC
- Timeouts
- Retries
- Backoff and jitter
- Circuit breakers
- Bulkheads
- Rate limiting
- Backpressure
- Graceful degradation
Architecture concepts¶
- Requirements & Constraints
- Scalability, Latency & Throughput
- Availability & Reliability
- Consistency Models
Reliability & Resilience covers failure handling and recovery concerns that cut across these decisions.