हे एवरीवन वेलकम बैक वेलकम टू अनदर हे एवरीवन वेलकम बैक वेलकम टू अनदर एक्साइटिंग वीडियो एंड इस वीडियो के अंदर हम बात करने वाले हैं हाउ टू क्रैक एनी सिस्टम डिजाइन इंटरव्यू एज अ फ्रेशर ओके तो इस वीडियो के अंदर हम बात करेंगे दैट इफ यू आर प्रिपेयरिंग फॉर एन इंटरव्यू या फिर लाइक यू आर प्रिपेयरिंग फॉर अ स्टार्टअप तो किस तरह से हम सिस्टम डिजाइन वाला जो राउंड है उसको हम क्लियर कर सकते हैं एंड साथ ही साथ किस तरह से हम एक बिल्कुल स्केलेबल सिस्टम डिजाइन कर सकते हैं ओके तो यह वीडियो थियोरेटिकल वीडियो होने वाला है एंड सुपर डुपर इंपॉर्टेंट होने वाला है इफ यू आर अ फ्रेशर और मे बी यू आर एन इंटरमीडिएट लेवल हु इज ट्राइड टू स्विच ओके सो लेट्स स्टार्ट विद द वीडियो सो व्हेन एवर यू गो इन अ कंपनी फॉर एन इंटरव्यू तो यूजुअली क्या होता है यूजुअली वहां पे दो तरीके के राउंड्स होते हैं एंड एट दिस पॉइंट आई एम टॉकिंग अबाउट स्टार्टअप्स ओके सो मिड स्केल टू लास्ट स्केल स्टार्टअप्स की मैं बात कर रहा हूं सो व्हेन एवर यू गो फॉर एन इंटरव्यू सो यूजुअली देयर आर टू राउंड्स जो फर्स्ट राउंड होता है दैट इज प्रिटी सिंपल जिसमें नॉलेज राउंड होता है जिसमें टेस्ट किया जाता है दैट आपको लैंग्वेज के लिए या टेक्स्ट स्टैक के प्रति कितनी नॉलेज है फॉर एग्जांपल अगर वो कंपनी मन स्टैक यूज़ कर रही है तो यूजुअली फर्स्ट राउंड में देखा जाएगा दैट क्या आपको जावा स्क्रिप्ट की नॉलेज है क्या आपको मन स्टक की नॉलेज है क्या आपको मोंगो डीबी पोस्ट ग्रेस या फिर क्या आपको लाइक आप लैंग्वेज से कंफर्टेबल हो या नहीं ओके तो उसमें सिस्टम डिजाइन वगैरह कुछ नहीं पूछा जाता यूजुअली उसके अंदर हल्का सा एक डीएसए का टच होता है ओके लाइक बेसिक एल्गोरिथम्स मे बी सर्चिंग एंड सर्टिंग पूछेंगे तो जावास्क्रिप्ट के बारे में पूछेंगे दैट जावास्क्रिप्ट कैसे काम करती है एंड कुछ बहुत ही सिंपल कोड्स दिए जाएंगे जो आपको जावास्क्रिप्ट में या फिर जो भी उनका टेक्स्ट टैक है आपको उसमें कोड करना है एंड यू हैव टू एक्सप्लेन एंड यू हैव टू लाइक ऑप्टिमाइज तो फर्स्ट राउंड तो बहुत इजी होता है जो लाइक 99 पर ऑफ द टाइम्स क्लियर हो जाता है उसके बाद जो सेकंड राउंड आता है दिस इज वयर द मेजर स्टूडेंट्स गेट्स रिजेक्टेड ओके तो सेकंड राउंड जो होता है उसमें हम सिस्टम डिजइन की बात करते हैं तो मैं अभी इस वीडियो में एक्सप्लेन करने वाला हूं दैट किस तरह के क्वेश्चंस पूछे जाते हैं एंड किस तरह से हमें उनको अप्रोच करना चाहिए एंड क्यों इस राउंड के अंदर बहुत सारे स्टूडेंट्स रिजेक्ट होते हैं तो बात बात करते हैं सिस्टम डिजाइन और आई कैन से स्केलेबल सिस्टम डिजाइन की सो सेकंड राउंड में यू विल बी आस्क अ वेरी सिंपल क्वेश्चन दैट आपको एक सिस्टम डिजाइन करना है कोई भी एक एग्जांपल दे दी जाएगी जो फुली स्केलेबल हो ओके तो मोस्ट ऑफ द स्टूडेंट्स यहां पर क्या करते हैं मोस्ट ऑफ स्टूडेंट्स उसको इस तरह से अप्रोच करते हैं सो दे यूजुअली से जब भी हम सिस्टम डिजाइन की बात करते हैं दैट ठीक है हमारे पास एक क्लाइंट होता है करेक्ट हमारे पास एक क्लाइंट होता है व्हिच इज लाइक अ लैपटॉप तो हम बोल सकते हैं दैट लेट्स से दैट ये एक क्लाइंट है एक यूजर है ओके एंड ये यूजर किससे कनेक्टेड होता है एक सर्विस के साथ एक सर्वर के साथ कनेक्ट कर सकता है सो लेट अस से हम इस केस में यूज़ कर सकते हैं ec2 दैट इज इलास्टिक कंप्यूट टू ऑन एए मतलब एक तरह का एक व एक सर्वर है ओके तो यूजुअली क्या होता है यू हैव अ सर्वर एंड दिस पर्टिकुलर क्लाइंट इज कनेक्टेड टू दी सर्वर ओके द थिंग इज अब हम बात करते हैं दैट इसको हम स्केल कैसे कर सकते हैं लाइक फॉर एग्जांपल अगर मेरा रश इंक्रीज हो रहा है नंबर ऑफ यूजर्स मेरे इंक्रीज हो रहे हैं तो हम इसको किस तरह से स्केल करेंगे एंड यहां पर मेजॉरिटी ऑफ स्टूडेंट्स का जो आंसर होगा वो क्या होगा दैट हम क्या करेंगे हम यहां पर यूज़ करेंगे समथिंग नोन एज वर्टिकल स्केलिंग राइट अ हे गाइज सॉरी वन करेक्शन आई एम प्यूष फ्रॉम द फ्यूचर तो यहां पर मैं एक टर्म का यूज़ कर रहा हूं वर्टिकल स्केलिंग इंस्टेड आई शुड यूज़ हॉरिजॉन्टल स्केलिंग तो मैंने गलती से हर जगह वर्टिकल स्केलिंग का यूज़ किया वर्टिकल स्केलिंग का मतलब होता है दैट हम रम को इंक्रीज कर रहे हैं हम अपने रिसोर्सेस को इंक्रीज कर रहे हैं एक ही मशीन के अंदर हॉरिजॉन्टल स्केलिंग का मतलब होता है दैट हम रेप्स बना रहे हैं लाइक एक सर्वर है हमने उसको दो बना दिए तीन बना दिए दिस इज नोन एज हॉरिजॉन्टल स्केलिंग तो आई एम सॉरी जहां-जहां भी मैंने वर्टिकल स्केलिंग वर्ड यूज किया आई शुड हैव यूज्ड हॉरिजॉन्टल स्केलिंग सो इस वीडियो में प्लीज जस्ट इमेजिन दैट अगर हम अपने सर्वर्स को नंबर ऑफ सर्वर्स को इंक्रीज करें दैट्ची से वर्टिकल स्केलिंग वर्ड का यूज़ किया सो आई एम एक्सट्रीमली सॉरी फॉर दैट तो यूजुअली सभी स्टूडेंट्स क्या आंसर देते हैं ट हम ना क्या करेंगे हम इसके ऊपर वर्टिकल स्केलिंग लगा देंगे या फिर हम क्या करेंगे हम इसके ऊपर ऑटो स्केलिंग ग्रुप पॉलिसी लगाएंगे ओके एएस जीी पॉलिसी दैट मींस जैसे-जैसे हमारा लोड इंक्रीज होगा जैसे-जैसे हमारे जो क्लाइंट्स हैं वो इंक्रीज होंगे हम क्या कर सकते हैं हम अपने सर्वर को वर्टिकली स्केल कर सकते हैं व्हाट डू यू मीन बाय वर्टिकली स्केल करना वर्टिकली स्केल करना का मतलब होता है दैट हम अपने सर्वर के जो इंस्टेंसस हैं राइट उसको हम इंक्रीज कर सकते हैं वर्टिकली तो जहां पर मेरा एक सर्वर रन कर रहा था मैं क्या करूंगा दैट अगर मेरा लोड इंक्रीज हो रहा है तो मैं अपने सर्वर्स को इंक्रीज करता जाऊंगा एंड जस्ट इन केस अगर आप ये वाला आंसर सोच रहे हो तो ये आंसर अब्सोल्युटली होंगे एंड इसके अंदर देयर आर 100% चांस दैट यू विल बी रिजेक्टेड तो कभी भी यह वाला आंसर नहीं देना दैट मैं ऑटोस्केलिंग ग्रुप पॉलिसी सेटअप कर दूंगा मैं वर्टिकल स्केलिंग करूंगा एंड डन नहीं ऐसा नहीं होता है ओके एंड आई विल टेल यू ऐसा क्यों नहीं होता है बिक व्हाई दिस इज नॉट अ गुड थिंग ओके पहले बात करते हैं दैट ये पर्टिकुलर आंसर क्यों नहीं है इस पर्टिकुलर प्रॉब्लम का द थिंग इज पहली बात जो वर्टिकल स्केलिंग होती है ना वो इतनी आसान नहीं होती है जो वर्टिकल स्केलिंग होती है उसको टाइम लगता है सो इट्स लाइक फॉर एग्जांपल लेट अस से दैट यू आर मेकिंग अ बैक एंड ऑफ flipkart-com की एग्जांपल ले लेते हैं नॉट flipkart-com में क्या होता है यूजुअली देयर आर डेज जब आपकी जो सेल होती है वो बहुत ज्यादा होती है मे बी कुछ फेस्टिव सीजन चल रहा है लाइक दिवाली और क्रिसमस या फिर मे बी कुछ बहुत आपकी मेगा सेल चल रही है ओके तो ऐसे पॉइंट्स पे क्या होता है जो हमारा ट्रैफिक होता है ना वो ट्रिमेंडस इंक्रीज होता है राइट वो ट्रिमेंडस इंक्रीज होगा जैसे फॉर एग्जांपल यूजुअली जो जैसे इंडिया के टाइम के अकॉर्डिंग बात करते हैं तो यूजुअली लाइक पीपल वेक अप एट 9:00 करेक्ट तो 9 ओ क्लॉक से 10 ओ क्लॉक पीपल जो होते हैं वो एक्टिव होना स्टार्ट होते हैं एंड आई कैन से 10 ओ क्लॉक एक ऐसा टाइम होगा जहां पर बहुत ज्यादा मेरे पास ऑर्डर्स आएंगे इफ यू आर रिलाइंग ऑन दिस काइंड ऑफ ऑटो स्केलिंग ग्रुप कि ठीक है अगर मेरा लोड बढ़ता है तो मैं वर्टिकल स्केलिंग करूंगा तो उस केस में प्रॉब्लम क्या होता है आई विल टेल यू लेट्स से यू ओनली हैव वन सर्वर ओके यू ओनली हैव वन सर्वर एंड यू हैव मे बी लाइक टू क्लाइंट्स ओके एंड टू क्लाइंट्स को हैंडल करने के लिए वन सर्वर इज सफिशिएंट जैसे ही और यूजर्स आएंगे ओके जैसे ही और यूजर्स आएंगे ऑ कोर्स यू वांट टू ऑटोस्केल एंड ऑटो स्केल करने में टाइम लगता है इट विल टेक एटलीस्ट वन टू टू मिनट्स टू ऑटो स्केल ठीक है तो ये इंटेंटली नहीं हो जाता ये कभी भी इंस्टेंट नहीं होता बिकॉज़ सी व्हेन ऑटोस्केलिंग इज़ हैपनिंग पहले वो मशीन र बनती है फिर वोह मशीन बूट होती है फिर वो मशीन अ जो लोड बैलेंसर का हेल्थ चेक होता है उसमें वह पास करती है एंड ओनली एंड ओनली देन वो ट्रैफिक को एक्सेप्ट करना स्टार्ट करती है तो ऑफकोर्स ये जो पर्टिकुलर चीज़ होती है ये इतनी रियल टाइम नहीं होती तो इट विल टेक वन और टू मिनट्स टू ऑटोस्केल लेकिन इसमें प्रॉब्लम क्या होगा वन और टू मिनट के अंदर-अंदर जितना भी ट्रैफिक आएगा उनको बहुत हाई लेटेंसी फेस करना पड़ेगा यस ऑर नो ऑफकोर्स राइट बिकॉज़ तुम्हारे जो यूजर्स हैं ना वो बढ़ रहे हैं वो हर सेकंड बहुत ज्यादा स्पीड से बढ़ रहे हैं एंड इसमें क्या होगा हर बार जब भी हम वर्टिकल स्केलिंग करेंगे ऑफकोर्स हमारा बिल तो ज्यादा आएगा ही आएगा बिकॉज़ हम ज्यादा सर्वर्स यूज़ कर रहे हैं बट इस सज में टाइम भी लगेगा तो दिस इज़ नॉट अ गुड आइडिया ठीक है इसको आप एकदम से स्केल नहीं कर सकते दिस इज वन ऑफ द थिंग इन सिस्टम डिजाइन ओके बट ऐसा नहीं होता है तो जब भी कभी सिस्टम डिजाइन इंटरव्यू के अंदर स्केलेबल सिस्टम डिजाइन की बात की जाए ऑलवेज ट्राई टू डू थिंग्स एसिंक्रोनस दैट्ची है तो मैं तुम्हें एक्सप्लेन करूंगा दैट व्हाट डू यू मीन बाय डूइंग थिंग्स एसिंक्रोनस तो मैं कोई भी बुकिश लैंग्वेज यहां पे यूज नहीं करूंगा मैं कोई भी बुक को रेफर नहीं करूंगा तो मैं अपने एक्सपीरियंस के साथ जो मैंने देखा है जो मैंने कोड किया है मैं उसके हिसाब से मैं आपको एक्सप्लेन करता हूं तो बात करते हैं व्हेन एवर यू आर डिजाइनिंग समथिंग ठीक है व्हेन एवर यू आर डिजाइनिंग समथिंग ऑलवेज ट्राई टू आइडेंटिफिकेशन क्रिटिकल टास्क ठीक है तो सबसे पहले हमें क्या करना है हमें ना आइडेंटिफिकेशन पे इसमें से क्रिटिकल चीजें कौन सी है नॉन क्रिटिकल चीजें कौन सी हैं तो मैं एक एग्जांपल देता हूं फॉर एग्जांपल यू नो दैट एवरीवन एवरीवन नोज अबाउट टीचस करेक्ट तो मैंने जब टीचस को बिल्ड किया था तो टीचर्स क्या टीचर्स बेसिकली जहां पर कोई भी अपने कोर्सेस को सेल कर सकता है एंड बाय कर सकता है तो यह जो पर्टिकुलर प्लेटफॉर्म है teachers.com ये डेली के 4000 एक्टिव यूजर्स को हैंडल करता है ओके सो 4000 डेली एक्टिव यूजर्स है तो व्हिच इज लाइक अ गुड नंबर फॉर मी द थिंग इज इस पर्टिकुलर चीज को हैंडल करने के लिए व्हाट आई हैव डन इज फर्स्ट ऑफ ऑल आइडेंटिफिकेशन टास्क क्या होंगे क्रिटिकल टास्क की बात करते हैं क्रिटिकल टास्क ऐसे टास्क होते हैं जिनका कंप्लीट होना बहुत ज्यादा इंपॉर्टेंट है ओके जिनको एग्जीक्यूट करना बहुत ज्यादा इंपॉर्टेंट है नॉन क्रिटिकल टास्क होते हैं जिनको हम थोड़े से डीले के साथ या उनको हम बाद में भी एग्जीक्यूट कर सकते हैं तो टीचर्स के केस के एग्जांपल लेते हैं सो लेट अस से यू आर इन एन इंटरव्यू एंड इंटरव्यूअर आस्क यू दैट यू हैव टू डिजाइन अ स्केलेबल अ एलएमएस ओके स्केलेबल एलएमएस एलएमएस क्या होता है एलएमएस होता है लर्निंग मैनेजमेंट सिस्टम जस्ट लाइक टीचस तो व्हेन आई वाज डिजाइनिंग टीचस तो मेरे लिए क्रिटिकल टास्क क्या था तो क्रिटिकल टास्क था दैट अगर कोई स्टूडेंट अगर कोई स्टूडेंट कोर्स को परचेस करना चाहता है तो जो पेमेंट मैकेनिज्म है ना वो बिल्कुल सही से चलना चाहिए करेक्ट अगर स्टूडेंट पेमेंट कर रहा है तो उसको कोर्स का एक्सेस मिलना दिस इज क्रिटिकल थिंग राइट दिस इज अ क्रिटिकल पॉइंट ऐसा नहीं होना चाहिए कि स्टूडेंट ने पेमेंट कर दिया और वो बीच बचा ले कहीं अटक गया एंड उसको कोर्स का एक्सेस नहीं मिला नो सो द क्रिटिकल थिंग फॉर मी इज द पेमेंट सिस्टम ओके पेमेंट सिस्टम इज अ क्रिटिकल फॉर मी ओके लेकिन जब भी कोई स्टूडेंट कोर्स को परचेज करता है तो हम उसको एक ईमेल सेंड करते हैं दैट हे थैंक यू फॉर परचेसिंग द कोर्स योर अ परचेज वाज सक्सेसफुल ऑल दैट स्टफ वो कहीं ना कहीं जो मेरे लिए ईमेल सिस्टम है जो ईमेल सिस्टम है वो कहीं ना कहीं मेरे लिए नॉन क्रिटिकल है राइट इट्स ओके ना अगर किसी को मेल लेट्स से फॉर सम रीजंस मिस भी हो जाता है तो कोई दिक्कत नहीं है ओके ईमेल करना मेरी प्रायोरिटी नहीं है पेमेंट कलेक्ट करके स्टूडेंट को कोर्स का एक्सेस देना इज अ प्रायोरिटी इट्स अ क्रिटिकल सिस्टम राइट केस में भी व्हेन एवर यू आर ऑर्डरिंग समथिंग ऑर्डर प्लेस होना इज क्रिटिकल लेकिन उसका नोटिफिकेशन आना इज नॉट क्रिटिकल ठीक है तो जो नॉन क्रिटिकल टास्क होते हैं ना उनको सेपरेटली हैंडल करो एंड क्रिटिकल टास्क को सेपरेटली हैंडल करो किस तरह से आई विल टेल यू तो व्हेन एवर यू टॉक अबाउट सिस्टम डिजाइन ठीक है एक बहुत ही इंपॉर्टेंट डाटा स्ट्रक्चर है जो डेली लाइफ में यूज होने वाला है दैट इज नोन एज क्यू सिस्टम ओके क्यू सिस्टम तो अगर एक हाईली अवेलेबल हाईली स्केलेबल सिस्टम बनाना है क्यू इज समथिंग जिसको हम मिस आउट नहीं कर सकते बिकॉज़ हाई स्केलेबल सिस्टम्स में क्यूज का यूज बहुत ज्यादा होता है ओके एंड व्हाट यू हैव टू डू वी हैव टू ऑफ लोड दी टास्क्स टू दी क्यू दैट्ची को जान लेते हैं दैट किस तरह से नॉन क्रिटिकल टास्क को हम क्यू को ऑफ लोड कर सकते हैं हम किसी भी तरह का एक स्केलेबल सिस्टम बना सकते हैं एंड किसी भी तरह के सिस्टम डिजाइन इंटरव्यू को हम क्रैक कर सकते हैं तो आई विल टेल यू हाउ सो व्हाट आई यूजुअली डू इज फॉर एग्जांपल इस पर्टिकुलर केस में लेट अस से दैट मेरे पास एक ही सर्वर है ओके मेरे पास एक ही सर्वर है मान के चलो यार एक ही सर्वर है हमें इसी को पूरा ऑप्टिमल बनाना है बिकॉज़ ठीक है जैसे-जैसे रश इंक्रीज होगा नए सर्वर्स आएंगे बट ऑफ कोर्स वो टाइम लेते हैं तो यार एज्यूम करके चलते हैं एक ही सर्वर है व्हाट आई हैव डन इज मेरे पास एक क्यू सिस्टम है ओके मेरे पास एक क्यू सिस्टम है क्यू सिस्टम क्या होता है फर्स्ट इन फर्स्ट आउट ओके तो इट्स अ क्यू तो ये एक टास्क क्यू है या फिर आई कैन से दिस इज अ मैसेज क्यू एंड ये इसके लिए मैं यूज़ कर रहा हूं अ रेड डिस ओनली ठीक है तो ये मैंने कस्टम क्यू बनाई थी आई एम नॉट यूजिंग एनी लाइब्रेरी तो मैंने कस्टम क्यू बनाई थी यूजिंग रेडिस तो व्हाट आई कैन डू इज लेट अस से ये क्लाइंट आया इस क्लाइंट को इस पर्टिकुलर स्टूडेंट को कोई कोर्स को परचेस करना है सो व्हाट ही विल डू ही विल बेसिकली ट्राई टू पे सो व्हाट आई डू इज व्हेन एवर यू ट्राई टू पे ओके व्हेन एवर यू ट्राई टू पे एक काम करते हैं यहां पर हम एक पोस्ट्रेस को भी लेते हैं ठीक है बिकॉज माय डेटाबेस इज पोस्ट्रेस बिकॉज दिस इज वेरी इंपोर्टेंट सो व्हाट विल हैपन इज फर्स्ट ऑफ ऑल क्रिटिकल सिस्टम के है दैट पेमेंट सिस्टम शुड गो गो थ्रू राइट उसमें कोई फेलियर चांसेस नहीं होना चाहिए सो व्हाट यू कैन डू इज यू कैन जस्ट रीड समथिंग फ्रॉम द पोस्ट क्रेस ओके यू कैन जस्ट हैव समथिंग फ्रॉम द पोस्ट क्रेस कलेक्ट द पेमेंट एंड यूजर को कोर्स का एक्सेस देके उसको हम वापस से रिस्पांस सें कर देंगे ओके यहां पर सिंक्रोनस ईमेल को सेंड मत करो ओके तो यूजुअली कुछ ऐसा कोड मिलेगा फॉर एग्जांपल लेट्स से हमारे बैक एंड के ऊपर कोई रूट है जिसमें हम परचेस कर सकते हैं सो लेट्स से स्लैश परचेस तो यूजुअली जो कोड हमें मिलता है वो ऐसा मिलता है कि फर्स्ट कलेक्ट द पेमेंट फर्स्ट कलेक्ट द पेमेंट सेंड दी ईमेल एंड उसके बाद हम क्या करते हैं एंड दी रिस्पांस तो ऐसा नहीं करना चाहिए ओके ऐसा नहीं करना चाहिए इसमें क्या होगा बेसिकली यू आर कीपिंग द सर्वर बिजी फॉर दिस नॉन क्रिटिकल टास्क एज वेल तो ऐसा नहीं करना है ओके इस पर्टिकुलर सिनेरियो में हम क्या करेंगे हम यूजर की पेमेंट को कलेक्ट करेंगे उसको हम कोर्स का एक्सेस देंगे एंड जो ये ईमेल सेंड करने वाली चीज है ना इसको ना हम अपनी मैसेज क्यू में डाल देंगे ओके इसको हम नहीं हैंडल करेंगे इसको हम क्या करेंगे मैसेज क्यू के अंदर डाल देंगे दैट मुझे इस पर्टिकुलर यूजर को ईमेल सेंड करना है कोई बात नहीं ना बाद में भी हो जाएगा कोई दिक्कत नहीं है लेकिन मैंने क्रिटिकल टास्क को कंप्लीट कर लिया तो सेंड ईमेल नहीं करूंगा मैं सिर्फ क्या करूंगा क्यू कर दूंगा क्यू कौन सी चीज को क्यू करना है सेंड ईमेल को ओके तो ईमेल मैंने अभी तक ईमेल को सेंड नहीं किया है मैंने सिर्फ इस टास्क को अपनी क्यू में डाल दिया ओके हो सकता है यह अभी प्रोसेस हो जाए हो सकता है यह थोड़ी देर बाद प्रोसेस हो आई डोंट नो बट अभी के लिए इसको यहां पे पढ़े रहने देते हैं तो इससे क्या हुआ मेरा जो सर्वर का लोड था ना वो काफी ज्यादा डिक्रीज हो गया जहां सर्वर मेरे दो काम कर रहा था दैट उसको पेमेंट कलेक्ट करना है फिर ईमेल सेंड करना है अब वो सिर्फ एक ही काम कर रहा है वो पेमेंट को कलेक्ट कर रहा है ईमेल सेंडिंग वाला जो काम है उसने बस उसको क्यू कर दिया दैट्ची कैन डू इज इस क्यू के ऊपर हमें कंज्यूमर सेटअप कर सकते हैं ओके सो लेट अस से दैट दिस इज़ द कंज्यूमर ऑफ़ द क्यू एंड ये क्या कर सकता है दिस इज अ सेपरेट प्रोसेस दिस इज अ सेपरेट प्रोसेस ओके तो ये कंज्यूमर क्या करेगा बस मैसेजेस को रीड करेगा मैसेज क्यू के अंदर एंड उनको वो प्रोसेस करेगा अगर किसी को कुछ ईमेल सेंड करना है वो उसको ईमेल सेंड कर देगा अगर किसी को कोई और नोटिफिकेशन सेंड करना है वो उसको वो नोटिफिकेशन सेंड करेगा तो इस तरह से क्या होगा जो मेरा सर्वर है वो एक ही काम कर रहा है वो सिर्फ क्रिटिकल टास्क को परफॉर्म कर रहा है तो उससे मेरा जो लोड पर सर्वर है वह काफी ज्यादा कम हो गया है करेक्ट दिस इज वन थिंग ओके सो क्यू जो सिस्टम होता है ना जो क्यू सिस्टम होता है वो बहुत ही क्रिटिकल पार्ट होता है एक स्केलेबल सिस्टम डिजाइन का ओके एंड इसमें एक और चीज व्हेन एवर यू टॉक अबाउट वर्टिकल स्केलिंग ठीक है तो अगर हम इसको थोड़ा सा साइड पे रखते हैं तो व्हेन एवर यू टॉक अबाउट वर्टिकल स्केलिंग दैट्ची है लेट अस से वर्टिकल स्केलिंग भी एक अच्छी चीज है नो डाउट इन दैट कि जैसे-जैसे मेरा लोड इंक्रीज हो रहा है वर्टिकली स्केल कर सकते हो द थिंग इज जब हम वर्टिकली स्केल करते हैं ना हम कभी भी डेटाबेस के बारे में तो सोचते ही नहीं है हम क्या करते हैं कि यार ठीक है मेरा वर्टिकल स्केल हो रहा है हर सर्वर क्या करेगा अब एक कनेक्शन बनाएगा राइट पोस्ट्रेस के साथ हमारे डेटाबेस साथ एक कनेक्शन बनाएगा इससे क्या होगा ना हमारे डेटाबेस के ऊपर लोड बहुत ज्यादा इंक्रीज हो जाएगा हम सिर्फ सर्वर्स के बारे में सोच रहे हैं कि जैसे-जैसे मेरा लोड बढ़ रहा है जैसे-जैसे मेरे यूजर्स बढ़ रहे हैं मैं अपने सर्वर्स को तो अप स्केल कर रहा हूं बट व्हाट अबाउट डेटाबेस अगर मेरे पास इतने ज्यादा सर्वर्स हो जाएंगे तो जस्ट इमेजिन पर सेकंड कितनी ज्यादा क्वेरीज फायर होंगी मेरे पोस्टग्रेस के ऊपर जिससे क्या होगा या तो मेरा बिल बहुत ज्यादा इंक्रीज हो जाएगा पोस्ट केस का या फिर मेरा डेटाबेस डाउन भी जा सकता है तो कभी भी जो वर्टिकल स्केलिंग है ना वो करनी चाहिए बट डोंट रिलाई ऑन जस्ट दी वर्टिकल स्केलिंग ओके तो यूजुअली हमें क्या करना चाहिए हमें क्रिटिकल टास्क्स को तो सिंक्रोनस नहीं करो ओके दिस इज नोन एज लाइक सिंक्रोनस यूजर ने रिक्वेस्ट किया उसको रिस्पांस मिला सिंक्रोनस हमने उसकी पेमेंट को एक्सेप्ट कर लिया लेकिन जितना भी बाद का काम था ना उसको ईमेल सेंड करना उसको थैंक यू मैसेज सेंड करना उसको हम एसिंक्रोनस कर सकते हैं कैसे यूजिंग द क्यू सिस्टम उसको क्यू कर देंगे नाउ यू माइट बी वंडरिंग दैट इसमें ऐसा क्या है व्हाई वी आर यूजिंग क्यूज राइट क्यूज के साथ ही ऐसा क्यों द थिंग इज यू हैव मोर कंट्रोल ओवर क्यूज ओके व्हाट काइंड ऑफ कंट्रोल तो जो ये कंज्यूमर होता है ना ना ये बहुत ही स्मार्ट कंज्यूमर होता है फॉर एग्जांपल हम ना सेट कर सकते हैं लेट अस से हमारी मैसेज क्यू के अंदर ना पर सेकंड 1000 मैसेजेस आते हैं ओके 1000 मैसेजेस पर सेकंड द प्रॉब्लम इज ऑफकोर्स हम हर मैसेज को अगर प्रोसेस करने लगेंगे ओके तो क्या होगा 1000 कॉन्करेंट क्वेरीज अगर मैं अपने डेटाबेस पे करूंगा तो वो डाउन चली जाएगी सर्विस राइट तो कंज्यूमर के ऊपर व्हाट यू कैन डू इज यू कैन इवन सेट अप अ रेट लिमिट ओके यू कैन सेट अप अ रेट लिमिट यू कैन सेट अप अ कॉन्करेंस कंट्रोल यू कैन सेट अप अ लिमिट यू कैन सेट अप अ लॉट ऑफ थिंग्स इसका क्या मतलब दैट इस कंज्यूमर को मैं बोल सकता हूं दैट नो मैटर इस क्यू के अंदर कितने मैसेजेस आ रहे हैं हम एक सेकंड में सिर्फ एक ही मैसेज को प्रोसेस करेंगे सो दैट मैं यू नो ज्यादा अपने डेटाबेस के ऊपर क्वेरीज ना करूं तो इससे मुझे क्या मिल रहा है जो नॉन क्रिटिकल टास्क्स है ना मुझे ना उसके ऊपर एक कंट्रोल मिल रहा है कितनी स्पीड से उसको कंट्रोल करना है राइट कितने स्पीड से उसको क्वेरी करना है अगर मैं ये चीज क्य के साथ ना करता अगर मैं ये चीज डायरेक्टली अपने सर्वर्स के साथ करता तो जस्ट इमेजिन दैट ये सारे सर्वर्स 1000 पर सेकंड की स्पीड से मेरे डेटाबेस को क्वेरी करेंगे तो या डेटाबेस तो डाउन चला जाएगा ठीक है तो यूजुअली जब भी हम किसी सिस्टम डिजाइन की बात करते हैं ऑलवेज आइडेंटिफिकेशन क्यू में डाल दो क्रिटिकल टास्क को परफॉर्म करो इनन इन द मोस्ट ऑप्टिमल वे एंड जो कंज्यूमर्स होते हैं जस्ट हैव अ गुड रेट लिमिटिंग कॉन करेंसी कंट्रोल एंड लिमिटड सेटिंग्स एंड उससे हम क्या कर सकते हैं एक स्केलेबल सिस्टम डिजाइन बना सकते हैं अब मैं एक और एग्जांपल देता हूं आपकी ओके स यू नो लाइक यार whatsapp's से इंटरव्यू में यू आर आस्क दैट आपको ना एक के बाद एक के बाद एक जा रहे हैं ओके एंड whatsapp's वीडियो में नाना मैंने बात किया था हाउ टू स्केल वेब सॉकेट्स राइट तो इफ यू हैव नॉट वाच दिस वीडियो यार उस वीडियो को जाके देखो वो बहुत ऑसम वीडियो थी स मैं उसका लिंक जो है वो डिस्क्रिप्शन में डाल दूंगा तो लेट अस से यू आर गिवन दैट यू हैव टू डिजाइन अ स्केलेबल चैट सिस्टम जस्ट लाइक तो मैं कैसे डिजाइन करूंगा अगर मैं इंटरमीडिएट हूं तो मैं कैसे डिजाइन करूंगा एंड इफ आई एम अ प्रो तो मैं उसको किस तरह से डिजाइन करने का ट्राई करूंगा तो जो एक बिल्कुल न्यूबी होगा ना व्ट ही विल डू इज ही विल जस्ट से दैट कोई मुश्किल नहीं है इसमें मैं ना एक ईट सर्विस लूंगा स2 क्या होता है कंप्यूटर लूंगा एंड मैं क्या करूंगा जितने भी मेरे क्लाइंट्स होंगे तो इसमें हम एक मोबाइल ले लेते हैं सो मोबाइल फोन सो लेट अस से दैट ये मेरा एक क्लाइंट है करेक्ट ये मेरा एक क्लाइंट है तो दिस इज लाइक क्लाइंट वन क्लाइंट टू क्लाइंट थ्री मैं क्या करूंगा मैं इन सब को ना इस सर्वर से कनेक्ट करूंगा राइट इन सब इन सबको मैं इन सर्वर से कनेक्ट करूंगा एंड ये आपस में क्या कर पाएंगे बात कर पाएंगे द थिंग इज ऑफकोर्स एक टाइम के ऊपर जब बहुत ज्यादा क्लाइंट्स हो जाएंगे तो क्या होगा तो मैं क्या कर सकता हूं मैं इस पर्टिकुलर चीज को वर्टिकली स्केल कर सकता हूं करेक्ट वर्टिकल स्केल तो वर्टिकल स्केलिंग का मतलब क्या होता है वर्टिकल स्केलिंग का मतलब होता है दैट मैं इसकी रम मेमोरी को इंक्रीज कर दूंगा स यहां पर हम वर्टिकल स्केलिंग कर सकते हैं राइट वर्टिकल स्केलिंग मतलब हम रम को इंक्रीज कर रहे हैं हम मेमोरी को इंक्रीज कर रहे हैं तो क्या होगा जैसे-जैसे मेरे नंबर ऑफ क्लाइंट्स इंक्रीज करेंगे मतलब मैं एक ही सर्वर के साथ कनेक्ट कर सकता हूं मैं सभी को बिकॉज इट्स अ सॉकेट सर्वर मैं मल्टीपल सर्वर्स को नहीं कर सकता मल्टीपल सर्वर्स पिन अप नहीं कर सकता बिकॉज़ सॉकेट जो होते हैं वो स्टेट फुल होते हैं एंड दिस इज वन वे ओके बट द थिंग इज ऑफकोर्स बहुत एक्सपेंसिव है बहुत डिफिकल्ट है एंड ग्लोबल लेवल पे तो ये स्केल हो ही नहीं सकता ठीक है ठीक है कोई दिक्कत नहीं हमने अटेंप्ट किया फर्द हम क्या कर सकते हैं हम इसके अंदर इंट्रोड्यूस कर सकते हैं हॉरिजॉन्टल स्केलिंग ओके वी कैन फर्द इंट्रोड्यूस हॉरिजॉन्टल स्केलिंग हॉरिजॉन्टल स्केलिंग क्या होता है हॉरिजॉन्टल स्केलिंग का मतलब होता है नंबर ऑफ़ सर्वर्स को इंक्रीज करो तो अगर मैं अपने नंबर ऑफ़ सर्वर्स को क्रीज करना स्टार्ट करता हूं तो उसमें प्रॉब्लम क्या आता है दैट अगर यह पर्टिकुलर चीज एक अलग सर्वर से कनेक्टेड है ये पर्टिकुलर क्लाइंट एक अलग सर्वर से कनेक्टेड है एंड ये पर्टिकुलर क्लाइंट्स एक अलग सर्वर से कनेक्टेड है तो इनके आपस का जो कम्युनिकेशन है वो पॉसिबल नहीं है ओके इन इन केस ऑफ वेब सॉकेट्स तो इस चीज को हम सॉल्व कैसे कर सकते हैं लास्ट वीडियो में हमने डिस्कस किया था यूजिंग रेडस ओके तो मुझे क्या करना होगा व्हाट आई कैन डू आई कैन स्पिन अप अ रेडस सर्वर ओके रेडस सर्वर एंड रेडिस के अंदर व्हाट आई कैन डू आई कैन यूज़ द पप सब आर्किटेक्चर ऑफ द रेडिस तो जितने भी मैसेजेस होंगे हम रेस को पब्लिश करेंगे वहीं से सब्सक्राइब करेंगे एंड इससे मैं क्या कर सकता हूं मैं अपने सर्वर्स को हॉरिजॉन्टल स्केल कर सकता हूं एंड उससे और मैं क्या कर सकता हूं मैं अपने अ ज्यादा डिवाइसेसपोर्ट कर सकता हूं बट स्टिल स्टिल कहीं ना कहीं ये एक प्रॉब्लम करेगा बिकॉज़ जैसा मैंने बताया था दैट हॉरिजॉन्टल स्केलिंग में टाइम लगता है राइट अगर तुम एक नए सर्वर्स को स्पिन अप कर रहे हो तो उसमें टाइम लगेगा तो द थर्ड थिंग इज दैट इसके अंदर हम क्या करेंगे क्यू सिस्टम को इंप्लीमेंट करेंगे टू मेक इट मोर स्केलेबल एंड क्यू सिस्टम के लिए हम क्या करेंगे हम क्रिटिकल टास्क एंड नॉन क्रिटिकल टास्क को आइडेंटिफिकेशन देना स्टार्ट करेंगे ओके तो whatsapp-web एक यूज़र है b सो दीज आर द लाइक टू यूजर्स तो a सेंड्स दी मैसेज मैसेज टू दी सर्वर ओके सर्वर सेंड्स दी मैसेज टू बी एंड फाइनली बी रिसीव दी मैसेज तो यह बेसिकली तीन स्टेप्स है जो हमारे दिस इज द मोस्ट क्रिटिकल पार्ट बिकॉज देखो अगर तुम किसी को मैसेज सेंड कर रहे हो एंड वो मैसेज सर्वर ने ही एक्सेप्ट नहीं किया तो तुम्हारा वो जो मैसेज है वो लॉस्ट हो जाएगा वो कभी डिलीवर ही नहीं होगा तो ये चीज नहीं होना चाहिए मैसेजेस को लूज करना इज नॉट अ गुड आईडिया तो दैट मींस सर्वर तक मैसेजेस को सेंड करना क्रिटिकल पार्ट है बी को मैसेज रिसीव करवाना ये कहीं ना कहीं नॉन क्रिटिकल पार्ट है ओके ये कहीं ना कहीं नॉन क्रिटिकल पार्ट है व्हाट डू आई मीन बाय नॉन क्रिटिकल पार्ट दैट ठीक है ना अगर मैं आपको whatsapp2 सेकंड के बाद जा रहा है दैट्ची देखते हैं तो न्यू ईयर्स पे बहुत ज्यादा क्राउड होता है तो जब भी हम किसी को मैसेज सेंड करते हैं वो बहुत ज्यादा देर बाद डिलीवर होता है राइट वो इंस्टेंट डिलीवर नहीं होता बट एटलीस्ट वो डिलीवर होता है तो द क्रिटिकल पार्ट इज दैट हमें मैसेज को सेंड तो करना है सर्वर पे सर्वर के पास मैसेज होना चाहिए उसको रिसिपिएंट के पास सेंड करना इज काइंड ऑफ नॉन क्रिटिकल पार्ट तो इसमें व्हाट यू कैन डू इज अगर एक whatsapp2 लेट्स से ये मेरा एक सर्वर है तो लेट अस से दैट ये मेरा एक सर्वर है ओके एंड मेरे पास दो सर्वर्स हैं ओके आई हैव टू सर्वर्स लेट अस से जो यूजर ए है ओके तो मैं यहां से एक मोबाइल को कॉपी कर लेता हूं लेट अस से दैट ये मेरा यूजर ए है यूजर ए इज बेसिकली कनेक्टेड टू दिस पर्टिकुलर सर्वर एंड जो मेरा यूजर बी है दैट इज बेसिकली कनेक्टेड टू दिस पर्टिकुलर सर्वर नाउ सी व्हाट आई विल डू इज मैं यहां पर एक क्यू सिस्टम का इंप्लीमेंट करूंगा ओके तो यहां पर हम एक मैसेज क्यू बनाते हैं सो लेट अस से दैट दिस इज अ क्यू सिस्टम एंड मे बी वी आर यूजिंग लाइक s कए ऑफ amazonflex.in हम इस मैसेज को बी को सेंड नहीं करेंगे बिकॉज हमारा जो सिस्टम है वो बिजी हो सकता है करेक्ट मैं क्या करूंगा मैं इस मैसेज को ना क्यू में डाल दूंगा मैं इस मैसेज को ना क्यू में डाल दूंगा दैट ये मेरा एक मैसेज है एंड मैं क्या करूंगा मैं ए को वापस रिस्पांस सेंड कर दूंगा दैट ओके तुम्हारा जो मैसेज है ना वो मुझे मिल गया है ओके ओके तो दैट मींस एक सिंगल टिक ड यू रिमेंबर दैट सिंगल टिक तो यहां पर मेरे पास क्या होगा एक सिंगल टिक आ जाएगा दैट ठीक है मेरा जो मैसेज है ना वो एटलीस्ट सर्वर ने तो एक्सेप्ट कर लिया है हो सकता है सर्वर अभी बिजी है हो सकता है ये वाला सर्वर अभी बहुत बिजी है हो सकता है मतलब दी सर्वर्स एंड ऑल एवरीवन इज सो बिजी बट ठीक है एटलीस्ट जो मेरा मैसेज है वो सिंगल टिक हो गया मेरा मैसेज whatsapp2 विल पुल दी मैसेजेस सो लेट्स से इट इज पुलिंग द मैसेजेस एंड ये देखेगा दैट देयर इज अ मैसेज है एंड दैट नीड्स टू बी सेंड टू द बी ठीक है तो ये क्या करेगा इस मैसेज को बी को सेंड कर देगा तो इट विल बी लाइक अ मैसेज अ मैसेज फ्रॉम ए एंड इस पर्टिकुलर पॉइंट पे क्या हुआ हमारा जो मैसेज था वो बी को डिलीवर हो गया एंड उसके बाद हम क्या कर सकते हैं हम अपने डेटाबेस में अपडेट कर सकते हैं दैट लाक सिंगल टिप को हम डबल टिक कर सकते हैं ब्लू टिक कर सकते हैं दैट अ लाक डिफरेंट थिंग द थिंग वाज दैट हमने मैसेज को डिलीवर किया हो सकता है हमने इसको रियल टाइम में डिलीवर नहीं कि राइट ड्यू टू बहुत ज्यादा रश तो हो सकता है मैसेज बहुत लेट गया बट एटलीस्ट वीी वर एबल टू डिलीवर द मैसेज अगर हमारे पास ये क्यू सिस्टम ना होता अगर हमारे पास ये क्यू सिस्टम ही ना होता राइट तो उस केस में पता है क्या होता तो अगर मैं इस पूरे आर्किटेक्चर को लेट्स से यहीं से कॉपी करता हूं एंड आई जस्ट पेस्ट इट हियर तो अगर हम इस क्यू सिस्टम का इंप्लीमेंटेशन ना करते एंड हम डायरेक्टली ट्राई करते तो इस केस में क्या होता a बी को मैसेज सेंड करता ये पर्टिकुलर सर्वर इसको मैसेज सेंड करता दैट यार अभी के अभी बी को मैसेज सेंड करो सेंड टू बी एंड अगर ये सर्वर डाउन है अगर ये सर्वर बिजी है तो ये सर्वर इस पर्टिकुलर रिक्वेस्ट को एक्सेप्ट ही ना करता एंड ये पूरा मैसेज बीच में ही लॉस्ट हो जाता तो जो a ने मैसेज किया था वो कभी भी बी को ट्रांसफर ही ना होता ओके सो दिस इज द पावर ऑफ क्य सिस्टम तो व्हेन एवर जब भी तुम एक सिस्टम डिजाइन के अंदर हो अ एक इंटरव्यू के अंदर हो लाइक व्हेन एवर यू आर डिजाइनिंग अ सिस्टम ऑलवेज ट्राई टू आइडेंटिफिकेशन टास्क को हम क्यू सिस्टम में यूज़ कर सकते हैं तो एक स्केलेबल सिस्टम का जो क्य वाला पार्ट होता है ना वो बहुत ज्यादा इंपॉर्टेंट होता है तो इट्स वेरी वेरी वेरी इंपॉर्टेंट टू मास्टर कू सर्विस एंड जस्ट इन केस आपको क्यू सिस्टम समझना है तो उसके ऊपर भी मैंने एक वीडियो बनाया हुआ है अ यूजिंग द बुल एम क तो उसका लिंक भी मैं डिस्क्रिप्शन में डाल दूंगा तो डू वच दैट वीडियो एंड अगर इस तरह के वीडियोस आपको पसंद आए मुझे कमेंट्स में जरूर बताना मैं आपको ये पर्टिकुलर आर्किटेक्चर कोड करके भी दिखाऊंगा दैट किस तरह से हम एक स्केलेबल सिस्टम डिज़ाइन बना सकते हैं यूजिंग ऑल द क्यू सिस्टम एंड ऑल आउट देयर ओके विद नोट जस सो कमेंट्स में मुझे जरूर बताना एंड दैट्ची