System Design: Architecture, Scale और Trade-offs

System design सीखें: load का अनुमान लगाएँ, building blocks चुनें और scalable, reliable systems के trade-offs तौलें। Engineers और interviews के लिए।

कोर्स शुरू करें →

आप क्या सीखेंगे

  • अस्पष्ट requirements को functional और non-functional goals में बदल सकेंगे।
  • Back-of-the-envelope गणित से QPS, storage और bandwidth का अनुमान लगा सकेंगे।
  • किसी workload के लिए load balancing, caching, databases, queues और CDN चुन सकेंगे।
  • Consistency, replication, sharding और failure handling के trade-offs समझा सकेंगे।
  • URL shortener या chat app जैसे आम system का पूरा design समझा सकेंगे।

पाठ्यक्रम

मॉड्यूल 1: आधार

  1. सिस्टम डिज़ाइन क्या है?
  2. आवश्यकताएँ इकट्ठा करना
  3. मोटे-मोटे अनुमान

मॉड्यूल 2: बिल्डिंग ब्लॉक्स

  1. लोड बैलेंसिंग
  2. कैशिंग
  3. SQL बनाम NoSQL
  4. रेप्लिकेशन और शार्डिंग

मॉड्यूल 3: स्केल और विश्वसनीयता

  1. CAP प्रमेय
  2. मैसेज क्यू
  3. CDN और एज

मॉड्यूल 4: आर्किटेक्चर पैटर्न

  1. मोनोलिथ बनाम माइक्रोसर्विसेज़
  2. API गेटवे और सर्विस डिस्कवरी
  3. इवेंट-ड्रिवन आर्किटेक्चर और CQRS

मॉड्यूल 5: कंसिस्टेंसी और समन्वय

  1. कंसिस्टेंट हैशिंग
  2. वितरित ट्रांज़ैक्शन और सागा
  3. लीडर इलेक्शन और आइडेम्पोटेंसी

मॉड्यूल 6: मैसेजिंग डीप डाइव

  1. क्यू बनाम पब/सब
  2. डिलीवरी गारंटी

मॉड्यूल 7: रेज़िलिएंस

  1. सर्किट ब्रेकर और रिट्राई
  2. रेट लिमिटिंग एल्गोरिद्म, गहराई से

मॉड्यूल 8: डेटा और इंडेक्सिंग

  1. डेटाबेस इंडेक्सिंग
  2. निर्णय ढाँचा: SQL या NoSQL
  3. रीड स्केलिंग और पार्टिशनिंग रणनीतियाँ

मॉड्यूल 9: ऑब्ज़र्वेबिलिटी

  1. लॉगिंग, मेट्रिक्स, ट्रेसिंग और अलर्टिंग

मॉड्यूल 10: सिस्टम डिज़ाइन के लिए सुरक्षा की मूल बातें

  1. ऑथेंटिकेशन, ऑथराइज़ेशन और एन्क्रिप्शन

मॉड्यूल 11: डिज़ाइन अभ्यास

  1. URL शॉर्टनर डिज़ाइन करें
  2. रेट लिमिटर डिज़ाइन करें
  3. एक चैट एप्लिकेशन डिज़ाइन करें
  4. एक न्यूज़ फ़ीड डिज़ाइन करें
  5. एक नोटिफ़िकेशन सिस्टम डिज़ाइन करें
  6. एक वितरित कैश डिज़ाइन करें
  7. एक राइड-शेयरिंग मैचिंग सिस्टम डिज़ाइन करें