कैशिंग की त्रुटियों से बचें: एक स्टार्टअप की कहानी और समाधान

 2 min read

YouTube video ID: Xpq0DGqGHyA

Source: YouTube video by Sukhad AnandWatch original video

PDF

परिचय

एक स्टार्टअप ने कैशिंग कोड में छोटी सी गलती के कारण लाखों रुपये का नुकसान झेला। इस लेख में हम उस घटना, उसके कारण और प्रभावी समाधान को विस्तार से समझेंगे।

समस्या का विवरण

  • कोड में कैश को इस तरह चेक किया गया था: यदि की कैश में है तो डेटा ले आओ, नहीं तो डेटाबेस को कॉल करो।
  • एक अटैकर ने ऐसी रिक्वेस्ट भेजी जो मौजूद नहीं थी, जिससे सभी रिक्वेस्ट डेटाबेस तक पहुँच गईं।
  • परिणामस्वरूप डेटाबेस ओवरलोड हो गया और पूरी सेवा डाउन हो गई, जिससे वित्तीय नुकसान हुआ।

त्रुटियों के तीन मुख्य पहलू

  1. की की मौजूदगी की जाँच नहीं होना
  2. समाधान: Bloom Filter जैसे प्रॉबेबिलिटी डेटा स्ट्रक्चर का उपयोग करके पहले ही पता लगाया जा सकता है कि की मौजूद है या नहीं, जिससे अनावश्यक DB कॉल नहीं होती।
  3. थंडरिंग हार्ड (Thundering Herd) समस्या
  4. जब कई रिक्वेस्ट एक साथ कैश मिस होती हैं, तो सभी एक साथ DB को हिट करती हैं।
  5. समाधान: सिंगल फ़्लाइट पैटर्न अपनाएँ – एक ही रिक्वेस्ट को DB तक पहुँचाएँ, बाकी को कैश में स्टोर होने तक इंतजार कराएँ।
  6. हॉट की (Hot Key) समस्या
  7. लोकप्रिय की पर अत्यधिक ट्रैफ़िक एक ही कैश नोड को ओवरलोड कर देता है।
  8. समाधान: की के साथ एक यूनिक सफ़िक्स जोड़कर कई रेप्लिकाज़ बनाएँ (की शार्डिंग) जिससे लोड वितरित हो सके।

प्रभावी समाधान

  • Bloom Filter: तेज़ और मेमोरी‑एफ़िशिएंट, की की संभावित मौजूदगी को O(1) में चेक करता है।
  • सिंगल फ़्लाइट: एक ही समय में केवल एक DB कॉल, बाकी रिक्वेस्ट को प्रतीक्षा में रखता है।
  • की शार्डिंग / रेप्लिकेशन: हॉट की को कई कैश इंस्टेंस में विभाजित करके थ्रॉटलिंग रोकें।

निष्कर्ष

कैशिंग को सही ढंग से लागू करने के लिए केवल डेटा रिट्रीवल को तेज़ करना ही नहीं, बल्कि संभावित त्रुटियों—की चेक, थंडरिंग हार्ड, और हॉट की—को भी ध्यान में रखना आवश्यक है। उचित डेटा स्ट्रक्चर और डिज़ाइन पैटर्न अपनाकर आप समान वित्तीय नुकसान से बच सकते हैं।

कैशिंग को लागू करते समय Bloom Filter, सिंगल फ़्लाइट और की शार्डिंग जैसे उपाय अपनाएँ, ताकि थंडरिंग हार्ड और हॉट की जैसी समस्याओं से बचा जा सके और सिस्टम की स्थिरता बनी रहे।

Frequently Asked Questions

Who is Sukhad Anand on YouTube?

Sukhad Anand is a YouTube channel that publishes videos on a range of topics. Browse more summaries from this channel below.

Does this page include the full transcript of the video?

Yes, the full transcript for this video is available on this page. Click 'Show transcript' in the sidebar to read it.

Helpful resources related to this video

If you want to practice or explore the concepts discussed in the video, these commonly used tools may help.

Links may be affiliate links. We only include resources that are genuinely relevant to the topic.

PDF