Skip to content

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

Reliability & Resilience covers failure handling and recovery concerns that cut across these decisions.