2011-10-30 26 views
26

क्या कोई मुझे बता सकता है कि वेब एप्लिकेशन के लिए उच्च उपलब्धता ("HA") कैसे काम करती है ... क्योंकि मुझे लगता है कि एचए का मतलब है कि कोई भी बिंदु-विफलता मौजूद नहीं है।वेब ऐप: उच्च उपलब्धता/विफलता के एक बिंदु को कैसे रोकें?

हालांकि, अगर लोड बैलेंसर का उपयोग किया जाता है- क्या यह विफलता का एक बिंदु नहीं है?

+0

बारे में अधिक पढ़ें नहीं आप दो लोड बैलेंसर्स विफलता के लिए स्थापित किया है जब। –

+2

@ डेव न्यूटन, लेकिन 2 लोड बैलेंसर्स कैसे एक अनुरोध का जवाब देते हैं? मैं कल्पना करने की कोशिश कर रहा हूं, इसलिए मैं http://example.com पर जाना चाहता हूं, मेरा ब्राउज़र आईपी एड्रेस हल करता है और फिर example.com के आईपी को एक ही अनुरोध भेजता है, यह कैसे संभव है कि एकाधिक सर्वर (लोड बैलेंसर्स) मेरे ब्राउज़र से आने वाले वेब अनुरोध का "जवाब" दे सकता है? किसी बिंदु पर, यह हार्डवेयर का एक टुकड़ा है जो विफलता का मुद्दा है? – nickb

+0

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

उत्तर

12

मैं इस विषय पर इस लेख पाया है आपका वेबसाइट।

वेब ब्राउज़र सभी पते को आजमाने के लिए पर्याप्त स्मार्ट हैं जब तक कि वे काम नहीं करते हैं।

1

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

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

संक्षेप में, सभी घटक लोड बैलेंसर्स सहित अनावश्यकता प्राप्त करेंगे।

एक प्रारंभिक बिंदु के लिए, के लिए High Availability Cluster

+1

लेकिन किसी बिंदु पर, उपयोगकर्ताओं के वेब ब्राउज़र से एकल अनुरोध को एकाधिक लोड बैलेंसर्स में विभाजित करना होगा। इस बिंदु पर, यह विफलता का एक बिंदु नहीं होगा?मतलब, एकाधिक लोड बैलेंसर्स में एक ही अनुरोध के लिए यह कैसे संभव है? – nickb

+1

हां, उपयोगकर्ता का अनुरोध ऑनलाइन लोड लोडर में से एक में समाप्त हो जाएगा, और यह संभव है कि एलबी ठीक उसी समय नीचे चला जाए जब यह अनुरोध संसाधित हो रहा है और इसे खो रहा है। महत्वपूर्ण बात यह है कि एचए पता यह है कि यदि उपयोगकर्ता तुरंत पुनः प्रयास करता है तो वह ऑनलाइन एलबी में समाप्त होगा और सफल होगा, इसलिए सिस्टम के अन्य उपयोगकर्ता भी होंगे। एचए किसी भी विशेष अनुरोध को सफल होने के बजाय, पूरी प्रणाली उपलब्ध होने (सभी विफलताओं क्षणिक) के बारे में चिंतित है। –

+2

आप यह कैसे करते हैं? डीएनएस राउंड रॉबिन? – nickb

0

यह निम्नलिखित तरीके से काम करता है विकिपीडिया देखते हैं कि आप सेटअप दिल की धड़कन के साथ दो हा प्रॉक्सी सर्वर, इसलिए जब एक विफल रहता है (प्रश्नों का जवाब देने बंद हो जाता है), यह क्लस्टर से हटाया जा रहा है। एचए प्रॉक्सी से अनुरोध राउंड रॉबिन फैशन में वेब सर्वर पर अग्रेषित किए जा सकते हैं, और यदि कोई वेब सर्वर विफल रहता है, तो एच प्रॉक्सी सर्वर जीवित होने तक उससे संपर्क करने का प्रयास नहीं करते हैं। वेब सर्वर डेटाबेस में सभी गतिशील जानकारी संग्रहीत कर रहे हैं, जो दो MySQL उदाहरणों में दोहराया गया है। जैसा कि आप देख सकते हैं, एच प्रॉक्सी और क्लस्टर MySQL (या बस MySQL प्रतिकृति) के साथ-साथ आईपी क्लस्टरिंग भी कुंजी है। http://www.tenereillo.com/GSLBPageOfShame.htm

मूल रूप से यदि आप लंबे समय तक चलने चिपचिपा सत्र की आवश्यकता नहीं है तो आप अपने डीएनएस सर्वर कॉन्फ़िगर कर सकते हैं के लिए कई एक रिकॉर्ड (आईपी पते) वापस जाने के लिए:

example high availabibility cluster

+7

लेकिन आपके आरेख में, जो मुझे समझ में नहीं आता है, हैपरॉक्स कैसे काम करता है? जब ग्राहक DNS हल करता है, तो यह केवल एक मशीन को हल कर सकता है। तो क्या हैप्रोक्सी किसी भी तरह से एक ही आईपी पता साझा कर रहे हैं? – nickb

+0

@nickb जैसा कि डेव न्यूटन ने ऊपर जवाब दिया, DNS को एक बाहरी होस्टनाम के लिए एकाधिक आईपी पते वापस करने के लिए कॉन्फ़िगर किया जा सकता है। ग्राहक सेवा से संपर्क करने के लिए कई प्रयास कर सकता है। DNS कॉन्फ़िगरेशन के संबंध में 'एक रिकॉर्ड' और 'CNAME रिकॉर्ड' देखें। –

+0

@nickb आप सही हैं, एचए सेवा एचए प्रॉक्सी को एक वर्चुअल आईपी साझा करने में सक्षम कर सकती है जिसे क्लाइंट कनेक्ट होगा। यूनिक्स के लिए एचए सेवा (यू) कार्प और रखरखाव, रेडहाट क्लस्टर सूट या पेसमेकर इत्यादि हो सकती है। यह भी देखें: http://serverfault.com/questions/686878/how-to-make-redundant-load-balancers – Yuci

5

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

enter image description here

High Availability Deployment Architecture