System design एक सॉफ़्टवेयर सिस्टम के architecture, components, और interactions को परिभाषित करने की प्रक्रिया है ताकि requirements पूरी हो सकें — खासकर scalability, reliability, और performance के लिए। यह इस बारे में है कि बड़े पैमाने पर काम करने वाले सिस्टम बनाने के लिए सभी हिस्से एक साथ कैसे फिट होते हैं।
System design किन चीज़ों को कवर करता है
System design = the high-level structure of a system:
→ COMPONENTS → services, databases, caches, queues, load balancers, etc.
→ how they INTERACT → data flow, communication, APIs
→ meeting REQUIREMENTS → functional (what it does) + non-functional (scale, speed,
reliability, availability)
→ about the BIG PICTURE / architecture, not individual code
