Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

हाई-अवेलिबिलिटी आर्किटेक्चर में महारत: लचीले सिस्टम बनाएं जो कभी डाउन न हों

हाई अवेलिबिलिटी आर्किटेक्चर क्या है?

एक हाई अवेलिबिलिटी आर्किटेक्चर तब होता है जब कई अलग-अलग घटक, मॉड्यूल, या सेवाएं एक साथ काम करती हैं ताकि पीक-टाइम लोड के बावजूद इष्टतम प्रदर्शन बनाए रखा जा सके।

हाई-अवेलिबिलिटी आर्किटेक्चर में महारत: लचीले सिस्टम बनाएं जो कभी डाउन न हों

इसके शुद्धतम अर्थ में, यह सिस्टम व्यवसायों को एक निश्चित अवधि में विफलता के बिना लगातार काम करने की अनुमति देता है। कई व्यवसाय एक मिनट के डाउनटाइम का भी खर्च नहीं उठा सकते। यह देखते हुए कि डेटा कई व्यवसायों की जीवनरेखा है, डाउनटाइम की एक छोटी अवधि भी अविश्वसनीय रूप से महंगी हो सकती है।

कुछ वास्तविक जीवन के परिदृश्यों में, जीवन हाई अवेलिबिलिटी के लिए बने डेटाबेस पर निर्भर हो सकता है। जब कोई मरीज आपातकालीन कक्ष में आता है, तो चिकित्सा पेशेवरों को उनके मेडिकल हेल्थ रिकॉर्ड तक त्वरित पहुंच की आवश्यकता होती है ताकि यह समझा जा सके कि कौन से उपचार निर्णय सर्वोत्तम हैं। इस जानकारी तक पहुंचने में किसी भी देरी का विनाशकारी प्रभाव हो सकता है।

नोट: हाई अवेलिबिलिटी को अक्सर उस समय के प्रतिशत में मापा जाता है जब कोई सेवा उपयोगकर्ताओं के लिए उपलब्ध होती है। माइक्रोसॉफ्ट नेटवर्क डेवलपर ग्लोसरी के अनुसार, एक सर्वर को "हाईली अवेलिबल" माना जाता है, इसके लिए उसे 99.999% नेटवर्क अपटाइम प्राप्त करने की आवश्यकता होती है।

हाई अवेलिबिलिटी क्लस्टर क्या हैं?

हाई अवेलिबिलिटी क्लस्टर होस्ट का एक समूह है जो डाउनटाइम को रोकने के लिए एक सिंगल सिस्टम के रूप में मर्ज होता है। यदि हाई अवेलिबिलिटी क्लस्टर में एक सर्वर डाउन हो जाता है, तो मिशन-क्रिटिकल ऐप को तुरंत दूसरे सर्वर पर स्थानांतरित कर दिया जाता है जैसे ही खराबी का पता चलता है।

कोई भी सिस्टम विफलता से प्रतिरक्षित नहीं है, और हाई अवेलिबिलिटी क्लस्टर यह सुनिश्चित करते हैं कि अपरिहार्य विफलताओं के बावजूद इष्टतम प्रदर्शन स्तर बने रहें। परिणामस्वरूप, इनका उपयोग सबसे मिशन-क्रिटिकल एप्लिकेशन, वेबसाइटों और ट्रांजैक्शन प्रोसेसिंग सिस्टम के लिए किया जाता है।

हाई अवेलिबिलिटी क्लस्टरिंग कैसे काम करती है?

एक हाई अवेलिबिलिटी क्लस्टर कई सिस्टम का उपयोग करेगा जो पहले से एकीकृत हैं, इसलिए यदि विफलता के कारण एक सिस्टम विफल हो जाता है, तो सेवा या एप्लिकेशन की निरंतरता बनाए रखने के लिए दूसरे का कुशलतापूर्वक लाभ उठाया जा सकता है।

हाई अवेलिबिलिटी लोड बैलेंसिंग क्लस्टर सिस्टम विफलताओं को रोकने में महत्वपूर्ण भूमिका निभाता है। लोड बैलेंसर होने से अनिवार्य रूप से ट्रैफिक को विभिन्न वेब नोड्स में वितरित किया जाता है जो एक ही वेबसाइट या एप्लिकेशन उपयोगकर्ताओं की सेवा कर रहे हैं। यह किसी एक सर्वर पर दबाव कम करता है, जिससे प्रत्येक क्लस्टर अधिक इष्टतम रूप से काम कर सके जबकि ट्रैफिक केवल स्वस्थ सर्वरों को भेजा जाता है।

हाई अवेलिबिलिटी क्लस्टर अवधारणाएं

एक्टिव-पैसिव क्लस्टर

एक्टिव/पैसिव क्लस्टर कम से कम दो नोड्स से बना होता है। जैसा कि नाम से पता चलता है, सभी नोड्स सक्रिय नहीं होंगे। यदि एक नोड सक्रिय है, तो दूसरा स्टैंडबाय पर रीड-ओनली है। पैसिव सर्वर बैकअप के रूप में कार्य करता है और इसका उपयोग तब किया जाएगा जब सक्रिय सर्वर काम करना बंद कर दे।

एक्टिव-एक्टिव क्लस्टर

इस प्रकार का क्लस्टर आमतौर पर कम से कम दो नोड्स का उपयोग करता है जो एक ही समय में एक ही सेवा निष्पादित करते हैं। एक एक्टिव-एक्टिव क्लस्टर में, दोनों नोड्स प्राथमिक नोड्स के रूप में कार्य करते हैं, जिसका अर्थ है कि कोई भी रीड या राइट स्वीकार कर सकता है। यदि एक नोड विफल हो जाता है, तो उपयोगकर्ता स्वचालित रूप से दूसरे से जुड़ जाएगा ताकि सेवा की निरंतरता सुनिश्चित हो सके। एक बार पहले नोड को बदल दिए जाने के बाद, उपयोगकर्ता फिर से दो मूल नोड्स के बीच विभाजित हो जाएंगे।

एक्टिव/एक्टिव क्लस्टर का सर्वव्यापी लाभ यह है कि यह आपको नोड-नेटवर्क बैलेंस प्राप्त करने की अनुमति देता है। यदि सर्वर विफलता के उदाहरणों का पता चलता है तो एक लोड बैलेंसर उपयोगकर्ता अनुरोधों को उन सर्वरों तक पहुंचाएगा जो आसानी से उपलब्ध हैं और फिर नोड-नेटवर्क गतिविधि का विश्लेषण करेगा। लोड बैलेंसर तब उन नोड्स पर ट्रैफिक डालेगा जो उस ट्रैफिक को सेवा देने में सक्षम हैं जिससे फॉल्ट टॉलरेंस के अधिक स्तर की अनुमति मिलती है

यह रणनीति एक चक्रीय प्रक्रिया का पालन करती है, राउंड-रॉबिन मॉडल के समान, जहां उपयोगकर्ताओं को उपलब्ध नोड्स में बेतरतीब ढंग से फैलाया जाता है, या इसके विपरीत, एक वजन योजना का पालन कर सकते हैं जहां एक नोड को प्रतिशत के आधार पर दूसरे पर प्राथमिकता दी जाती है।

शेयर्ड-नथिंग बनाम शेयर्ड-डिस्क क्लस्टर

वितरित कंप्यूटिंग में पालन किया जाने वाला एक सामान्य नियम है कि किसी भी कीमत पर सिंगल पॉइंट्स ऑफ फेल्योर से बचा जाए। इसके लिए संसाधनों को सक्रिय रूप से रेप्लिकेट या रिप्लेसेबल होना आवश्यक है, बिना किसी एक कारक के बाधित हुए यदि पूरी सेवा डाउन हो जाती है।

कल्पना करें कि आपके पास पचास रनिंग नोड्स थे जो एक डेटाबेस द्वारा संचालित थे। यदि एक नोड विफल होता है, तो इसका चल रहे नोड्स की संख्या के बावजूद दूसरों की लगातार स्थिति पर कोई प्रभाव नहीं पड़ेगा।

लेकिन क्या डेटाबेस विफल होना चाहिए, पूरा क्लस्टर डाउन हो जाएगा, जिससे डेटाबेस सिंगल पॉइंट ऑफ फेल्योर बन जाएगा? इसे शेयर्ड डिस्क क्लस्टर कहा जाता है।

दूसरी ओर, यदि प्रत्येक नोड अपना डेटाबेस रखता है, तो एक नोड विफलता पूरे क्लस्टर को प्रभावित नहीं करेगी। इसे शेयर्ड नथिंग क्लस्टर कहा जाता है।

नोट: यदि आप हाई अवेलिबिलिटी क्लस्टरिंग तकनीक के बारे में अधिक जानना चाहते हैं तो इस वेबिनार को देखना सुनिश्चित करें। सॉफ्टवेयर उद्योग में 20 से अधिक वर्षों के अनुभव के साथ, जॉर्ज कार्बोनेल रेडिस एंटरप्राइज के साथ क्लस्टरिंग तकनीक के बारे में आपको जो कुछ भी जानने की आवश्यकता है, उसे अनपैक करेंगे जो उच्च प्रदर्शन के साथ-साथ उच्च उपलब्धता प्रदान करता है।

हाईली अवेलिबल आर्किटेक्चर की आवश्यकताएं

ऐसी कई अलग-अलग आवश्यकताएं हैं जिनकी आपको स्थायित्व और उच्च उपलब्धता को अधिकतम करने के लिए आवश्यकता होगी। इनमें शामिल हैं:

लोड बैलेंसिंग

लोड बैलेंसिंग किसी भी हाईली अवेलिबल आर्किटेक्चर के लिए महत्वपूर्ण है। इसका प्राथमिक कार्य बैकएंड सर्वरों में ट्रैफिक वितरित करना है ताकि डेटा अधिक कुशलता से प्रसारित हो सके और सर्वर ओवरलोड को रोका जा सके। किसी भी लोड बैलेंसिंग सिस्टम की एक पूर्वापेक्षा यह पहचानना है कि नोड विफलता होने पर किस फेलओवर प्रक्रिया को अंजाम दिया जाना चाहिए।

डेटा स्केलेबिलिटी

डेटाबेस या डिस्क स्टोरेज यूनिट को स्केल करने की क्षमता को सभी हाईली अवेलिबल आर्किटेक्चर द्वारा ध्यान में रखा जाना चाहिए। स्केलेबिलिटी प्राप्त करने के लिए आप दो समाधानों के बीच चयन कर सकते हैं:

  • आर्किटेक्चर के मुख्य डेटाबेस का उपयोग करना और इसे हाईली अवेलिबल बनाने के लिए रेप्लिकेशन या पार्टीशनिंग का उपयोग करना; या
  • यह सुनिश्चित करना कि व्यक्तिगत एप्लिकेशन इंस्टेंस अपने स्वयं के डेटा स्टोरेज को बनाए रखने में सक्षम हैं

भौगोलिक विविधता

हम एक तेज-तर्रार डिजिटल दुनिया में रहते हैं जहां विश्व स्तर पर हाईली अवेलिबल क्लस्टर वितरित करने में सक्षम होना अब अनिवार्य है। ऐसा करने से यह सुनिश्चित होगा कि यदि कोई प्राकृतिक आपदा एक स्थान पर आती है, तो इसका प्रभाव उनकी सेवा प्रदान करने की क्षमता में बाधा नहीं डालेगा।

बैकअप और रिकवरी (डिजास्टर रिकवरी)

अपनी निरंतरता के बावजूद, हाईली अवेलिबल आर्किटेक्चर हमेशा किसी न किसी प्रकार की खराबी के प्रति संवेदनशील होंगे जो सेवा को बाधित कर सकती है। इसलिए, यदि कोई सेवा डाउन हो जाती है, तो व्यवसायों के पास पूरे सिस्टम को जल्द से जल्द फिर से चालू करने के लिए एक रिकवरी रणनीति उपलब्ध होनी चाहिए।

इसे अक्सर डिजास्टर रिकवरी कहा जाता है - नीतियों और प्रक्रियाओं का एक सेट जो एक विघटनकारी घटना की स्थिति में सेवा को पूर्ण कार्यक्षमता पर लौटाने के लिए डिज़ाइन किया गया है।

हाई अवेलिबिलिटी को कैसे मापें

हाई अवेलिबिलिटी को अक्सर उस समय के प्रतिशत में मापा जाता है जब कोई सेवा उपयोगकर्ताओं के लिए उपलब्ध होती है। यह कुल अपटाइम को सिस्टम अवधि से विभाजित करके किया जाता है, जिसे तब 100 से गुणा करके प्रतिशत प्राप्त किया जाता है। माइक्रोसॉफ्ट नेटवर्क डेवलपर ग्लोसरी के अनुसार, एक सर्वर को "हाईली अवेलिबल" माना जाता है, इसके लिए उसे 99.999% नेटवर्क अपटाइम प्राप्त करने की आवश्यकता होती है।

अक्सर प्रतिशत उपलब्धता को अंकों में नाइन्स की संख्या के रूप में संदर्भित किया जाता है। तो चार नाइन्स 99.99% होंगे।

नोट: 99.99% उपलब्धता को उद्योग मानक माना जाता है।

हाई अवेलिबिलिटी के लिए सर्वोत्तम अभ्यास

ऐसे कई कदम हैं जो आप हाई अवेलिबिलिटी को अधिकतम करने के लिए उठा सकते हैं, घटकों की संख्या से लेकर जिन्हें आपको जांचना है से लेकर विफल सर्वरों को बदलने तक। यहां कुछ अभ्यास दिए गए हैं जिनका उपयोग आप हाई अवेलिबिलिटी प्राप्त करने के लिए कर सकते हैं।

भौगोलिक अतिरेक प्राप्त करें

जियो-रिडंडेंसी प्राकृतिक आपदाओं के प्रकोप के खिलाफ एक महत्वपूर्ण रक्षा रेखा है जो सेवा विफलताओं का कारण बन सकती है। इस अभ्यास में कई सर्वरों को विभिन्न भौगोलिक स्थानों पर तैनात करना शामिल है, जिससे जोखिम फैलता है और आर्किटेक्चर को एक अलग सर्वर पर वापस गिरने की अनुमति मिलती है यदि कोई प्राकृतिक आपदा एक क्षेत्र पर हमला करती है।

नोट: आप इसे आसानी से एक डेटाबेस के साथ प्राप्त कर सकते हैं जिसमें एक्टिव-एक्टिव जियो-डिस्ट्रिब्यूशन है।

फेलओवर समाधानों का उपयोग करें

हाई अवेलिबिलिटी आर्किटेक्चर में आमतौर पर कई ढीले ढंग से जुड़े सर्वर शामिल होते हैं जो फेलओवर क्षमताएं प्रदान करते हैं। एक फेलओवर को एक बैकअप ऑपरेशनल मोड के रूप में देखा जाता है जो स्वचालित रूप से उपयोग किया जाता है जब प्राथमिक सिस्टम के कार्य डाउन हो जाते हैं।

लोड बैलेंसर्स लागू करें

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

सुनिश्चित करें कि आपका डेटा सिंक्रनाइज़ेशन आपके रिकवरी पॉइंट ऑब्जेक्टिव (RPO) को पूरा करता है

RPO आपके संगठन को नुकसान पहुंचाए बिना आप जितना अधिकतम डेटा खो सकते हैं उसका एक मार्कर है। यह आपके व्यवसाय के समग्र डेटा-हानि सहनशीलता को उजागर करता है और इसे समय इकाइयों में मापा जाता है, जैसे 1 मिनट या 1 दिन।

अपने RPO को 60 सेकंड से कम या बराबर सेट करने से आपको अधिकतम उपलब्धता बनाए रखने में मदद मिलेगी। ऐसा करने से यह सुनिश्चित होगा कि यदि प्राथमिक स्रोत विफल होता है, तो आप 60 सेकंड से अधिक मूल्य का डेटा नहीं खोएंगे।

हाईली अवेलिबल आर्किटेक्चर में रेडिस की भूमिका

रेडिस एंटरप्राइज अधिकतम उपलब्धता प्राप्त करने के इच्छुक किसी भी बड़े निगम के लिए एक शक्तिशाली समाधान है। यह एक रीयल-टाइम डेटा प्लेटफॉर्म है जो पांच-नाइन्स उपलब्धता सुनिश्चित करता है जो एलीट ऑटोमेटेड डेटाबेस रेजिलिएंस प्रदान करता है जबकि हार्डवेयर विफलता और क्लाउड आउटेज जोखिमों को कम करता है।

रेडिस एंटरप्राइज सबसे मिशन-क्रिटिकल एंटरप्राइज एप्लिकेशन की उच्च उपलब्धता आवश्यकताओं को पूरा करता है। यह 99.999% उपलब्धता प्रदान करने के लिए उद्योग-अग्रणी कार्यक्षमता प्रदान करता है: एक्टिव-एक्टिव जियो डिस्ट्रिब्यूशन, ऑटोमैटिक फेलओवर, इंटेलिजेंट क्लस्टरिंग, एक शेयर्ड-नथिंग आर्किटेक्चर, और वैश्विक वितरण।

हाई अवेलिबिलिटी प्राप्त करने के तरीके के बारे में अधिक जानना चाहते हैं?

  1. MS SQL Server में उच्च उपलब्धता (High Availability) MS SQL Server में उच्च उपलब्धता (High Availability)

    MS SQL Server में उच्च उपलब्धता (High Availability - HA) उच्च उपलब्धता (HA) एक समाधान / प्रक्रिया / तकनीक है जो यह सुनिश्चित करती है कि एप्लिकेशन / डेटाबेस किसी भी स्थिति में 24/7 सुलभ हों, चाहे वह इरादतन हो या अनपेक्षित। मूल रूप से, MS SQL Server में डेटाबेस उपलब्धता स्थापित करने के लिए 5 विकल्प ह

  1. 13 साल बाद: क्या रेडिस एक नई आर्किटेक्चर के लिए तैयार है? 13 साल बाद: क्या रेडिस एक नई आर्किटेक्चर के लिए तैयार है?

    रेडिस एक बेडरॉक तकनीक है और, जैसे, हम कभी-कभी लोगों को वैकल्पिक आर्किटेक्चर पर विचार करते देखते हैं। कुछ साल पहले, यह KeyDB द्वारा उठाया गया था, और हाल ही में एक नई परियोजना, ड्रैगनफ्लाई, ने सबसे तेज़ रेडिस-कम्पैटिबल इन-मेमोरी डेटास्टोर होने का दावा किया। हम मानते हैं कि ये परियोजनाएं कई दिलचस्प तकन

  1. उच्च उपलब्धता प्राप्त करें: Oracle Forms & Reports 12.2.1.3 को Oracle Enterprise Linux 7.2 पर इंस्टॉल और कॉन्फ़िगर करना उच्च उपलब्धता प्राप्त करें: Oracle Forms & Reports 12.2.1.3 को Oracle Enterprise Linux 7.2 पर इंस्टॉल और कॉन्फ़िगर करना

    उच्च-उपलब्धता मॉडल निम्न आरेख एक उच्च-उपलब्धता मॉडल को दर्शाता है। इस मॉडल का उपयोग करने के लिए, आपको निम्नलिखित कार्य करने होंगे, जिन्हें यह ब्लॉग विस्तार से कवर करता है: एप्लिकेशन नोड्स (नोड1 और नोड2) पर WebLogic® सर्वर संस्करण 12.2.1.3 इंस्टॉल करने की तैयारी करें। JDK® 1.8 इंस्टॉल करें। WebLogic