Design: Understanding Distributed System Patterns
In scope: Explanation of distributed system challenges and patterns with examples. Out of scope: Deep code implementation or specific technology stacks.
Functional Requirements
FR1: Explain common challenges in system design like scalability, fault tolerance, and data consistency
FR2: Show how distributed system patterns address these challenges
FR3: Provide examples of patterns and their benefits
FR4: Clarify trade-offs involved in using these patterns
Non-Functional Requirements
NFR1: Use simple, clear explanations without jargon
NFR2: Focus on patterns applicable to systems handling thousands to millions of users
NFR3: Keep latency considerations realistic (e.g., p99 < 300ms for user requests)
NFR4: Highlight availability targets around 99.9% uptime
