SaaS एप्लिकेशन को आर्किटेक्ट और बनाने में 34 वर्षों से अधिक के अनुभव के साथ, ली एचिसन एप्लिकेशन आधुनिकीकरण, क्लाउड माइग्रेशन, और DevOps ट्रांसफॉर्मेशन पर एक मान्यता प्राप्त विचारक नेता और विशेषज्ञ हैं। आप उनकी तीन पुस्तकों, 70+ प्रकाशित लेखों, या 100s प्रस्तुतियों, कक्षाओं, और सेमिनारों के माध्यम से उनकी विशेषज्ञता को पढ़ या देख सकते हैं।
आप और आपकी टीम ने एक ऐसा एप्लिकेशन विकसित किया है जो लोगों का ध्यान आकर्षित करने योग्य है। मुंह से बात फैलती है और इसकी लोकप्रियता बढ़ती है, लेकिन फिर परिचालन लागत आसमान छूने लगती है, ऐप लगातार क्रैश होता है, और एक ग्राहक अकल्पनीय करता है—वे सुपर स्लो स्पीड के बारे में ट्वीट करते हैं।
जैसे-जैसे आपका ग्राहक आधार बढ़ता है, आप लागत को बढ़ने से कैसे रोकते हैं? आप स्केलिंग की चुनौती का स्वागत करते हैं, लेकिन आप उच्च फेलओवर दरों और बढ़ी हुई रखरखाव लागत के लिए विकास का त्याग भी नहीं कर सकते।
एक बात निश्चित है: आपको एक एप्लिकेशन कैश की आवश्यकता है।
कैश क्या है?
"कैश एक डेटा-स्टोरेज घटक है जिसे मूल डेटा स्रोत की तुलना में तेजी से या अधिक कुशलता से एक्सेस किया जा सकता है।"
ली एचिसन, Redis के साथ बड़े पैमाने पर कैशिंग।
जब डेटा लाने का अनुरोध होता है, तो एक कैश उस डेटा की एक प्रति रीयल-टाइम में प्रदान करता है। और जैसे-जैसे अधिक से अधिक ग्राहक आपके ऐप का उपयोग करना शुरू करते हैं, आपको एक उन्नत एप्लिकेशन आर्किटेक्चर की आवश्यकता होती है जो आपके प्राथमिक डेटा स्टोर पर बार-बार जाए बिना उन बढ़े हुए डेटा अनुरोधों को संभाल सके।
ली इसे बहुत सरलता से कहते हैं: "हमारी आधुनिक दुनिया आधुनिक अनुप्रयोगों की मांग करती है।"
यह कोई रहस्य नहीं है कि ग्राहक बेहतर और बेहतर प्रदर्शन की मांग करते हैं। यदि आपका एप्लिकेशन ग्राहक की अपेक्षाओं के अनुसार प्रदर्शन नहीं कर रहा है, तो वे ग्राहक चले जाएंगे और आपके प्रतिस्पर्धियों की ओर भागेंगे।
और हर तेज़, उपयोग में आसान एप्लिकेशन के पीछे बहुत सारे चलते हुए हिस्से होते हैं। जैसा कि ली कहते हैं, "आज के अनुप्रयोगों को बड़ी मात्रा में डेटा को संभालने, जटिल संचालन करने, डेटा तत्वों के बीच कई संबंधों को बनाए रखने, और लेनदेन के बीच अलग और असमान राज्यों पर काम करने में सक्षम होना चाहिए।"
जटिल अनुप्रयोगों के भीतर सिरदर्द होता है, और एक कैश उन्हें कम करने के लिए होता है।
Redis के साथ बड़े पैमाने पर कैशिंग पढ़ें
Redis के साथ बड़े पैमाने पर कैशिंग, में, ली परिचय देते हैं कि कैशिंग क्या है, आपको इसकी आवश्यकता क्यों और कब है, और कैशिंग प्रथाएं जो आपके एप्लिकेशन को उच्चतम संभव प्रदर्शन प्राप्त करने में मदद करेंगी।
जब कोई उपयोगकर्ता किसी सेवा से डेटा का अनुरोध करता है, तो उस डेटा को स्टोर से प्राप्त करने के लिए एक ऑपरेशन किया जाता है, फिर उस जानकारी को उपभोक्ता तक वापस भेजा जाता है। फिर भी, ली नोट करते हैं कि ये ऑपरेशन बहुत संसाधन और समय गहन हो सकते हैं—खासकर यदि वही डेटा बार-बार प्राप्त किया जा रहा है।
"इसके बजाय, एक कैश के साथ, पहली बार जटिल ऑपरेशन किया जाता है, परिणाम उपभोक्ता को वापस कर दिया जाता है, और परिणाम की एक प्रति कैश में संग्रहीत की जाती है। अगली बार जब डेटा की आवश्यकता होती है, तो जटिल ऑपरेशन को फिर से करने के बजाय, परिणाम को सीधे कैश से निकाला जा सकता है और उपभोक्ता को तेजी से और कम संसाधनों का उपयोग करके वापस किया जा सकता है।"
कैशिंग क्या ठीक करता है—लेकिन यह सही क्यों नहीं है
कैशिंग एक आकार-फिट-सभी डेटा स्टोर नहीं है। एप्लिकेशन आर्किटेक्चर बोर्ड भर में भिन्न होते हैं, विशेष रूप से ऐप के आकार या उद्योग उपयोग के मामले के कारण। हालांकि, ली कहते हैं कि चार प्राथमिक विशेषताएं हैं जिन्हें कैशिंग सुधारने में मदद करेगा:
- प्रदर्शन
- स्केलिंग
- संसाधन अनुकूलन
- सुविधा और उपलब्धता
इसका मतलब यह नहीं है कि कैश लागू करने से ये स्वचालित रूप से आपको मिल जाएंगे।
"कई मामलों में, कैशिंग मूल्य नहीं जोड़ सकता है, और कुछ मामलों में, कैशिंग वास्तव में प्रदर्शन को खराब कर सकता है," ली कहते हैं। वे तीन संभावित समस्याएं उठाते हैं:
- कैशिंग के कारण एप्लिकेशन लक्षित संचालन के वांछित साइड इफेक्ट को निष्पादित नहीं कर सकता है
- कैश में असंगत डेटा
- खराब कैश प्रदर्शन
ली नोट करते हैं कि एक कैश के उपयोगी होने के लिए कुछ चर सही होने चाहिए (ई-बुक के पेज 8 पर नियमों की सूची देखें)। "एक कैश के प्रभावी होने के लिए, आपको अपने एप्लिकेशन या डेटा स्रोत से डेटा एक्सेस के सांख्यिकीय वितरण की वास्तव में अच्छी समझ होनी चाहिए," ली कहते हैं।
अल्टीमेट कैशिंग प्लेबुक के साथ खुद को तैयार करें
अब जब आप जानते हैं कि आपको एक कैश की आवश्यकता है, तो यह मुफ्त ई-बुक Redis के साथ अपना कैश बनाने और स्केल करने के लिए एकमात्र प्राइमर है जिसकी आपको आवश्यकता है।
ली के अनुसार: "यह पुस्तक बताती है कि कैशिंग क्या है, यह प्रभावी बड़े पैमाने पर आधुनिक अनुप्रयोगों का एक आधारशिला क्यों है, और Redis आपकी इन मांग वाली कैशिंग जरूरतों को पूरा करने में कैसे मदद कर सकता है।"
जैसे ही आप ई-बुक में गहराई से गोता लगाते हैं, Redis के साथ बड़े पैमाने पर कैशिंग विभिन्न प्रकार की कैशिंग रणनीतियों पर चर्चा करता है और व्यावहारिक व्याख्या प्रदान करता है कि ये रणनीतियां आपके लिए कैसे फिट हो सकती हैं—विशेष रूप से यदि आप क्लाउड में हैं।
"जबकि उच्च उपलब्धता को स्केल पर बनाए रखने के लिए एक एप्लिकेशन बनाने के कई तरीके, प्रक्रियाएं और तकनीकें हैं, कैशिंग उनमें से लगभग सभी में एक केंद्रीय तकनीक है," ली कहते हैं।
ई-बुक के बारे में अधिक जानकारी के लिए, हमारे पेज पर जाएं।