Trade-Offs

Everything in systems design is focused on evaluating the trade-offs and choosing a path that fits the specific needs and constraints of the system you’re working within. See Trade-Off Considerations for additional insights when evaluating these trade-offs in designing a system.

  1. Performance vs Scalability
  2. Latency vs Throughput
  3. Availability vs Consistency
  4. Volume vs Cost

Basics

  1. Core Challenges
  2. Scaling Systems
  3. Additional Non-Functional Requirements
  4. Components
  5. Error Handling Patterns
  6. Communication Protocols