मुझे इन प्रश्नों से प्यार है क्योंकि वे हमेशा उत्तर देने के लिए इतना आसान लगते हैं जब वास्तव में वे नहीं होते हैं।
स्टार्टर्स के लिए, आपके बिगस्ट एसपीएफ़ यह है कि सब कुछ अमेज़ॅन पर है। मुझे कई कारणों से एडब्ल्यूएस पसंद है, लेकिन सभी स्थितियों में जहां आपको वास्तविक उपलब्धता की आवश्यकता है, आप अनिवार्य रूप से 100% पर भरोसा करके पैर में खुद को शूटिंग कर रहे हैं। तो आपकी पहली योजना 1 से अधिक प्रदाता (क्लाउड, वीपीएस, या समर्पित) में अपनी सेवाओं को वितरित करना चाहिए।
मैं आपको एक प्रश्न पूछना चाहता हूं: यदि एडब्ल्यूएस नीचे चला जाता है, तो यह आपको कितना समय/नोटिस लेता है और इसके बारे में कुछ करता है, और बैक अप और चलाने के लिए आपको अपनी सेवाओं की कितनी जल्दी आवश्यकता है ?
कारण मैं पूछता हूं: ए/एएएए रिकॉर्ड का DNS लोड-बैलेंसिंग एक अद्भुत समाधान है, दुर्भाग्यवश आप एसआरवी/एमएक्स रिकॉर्ड के साथ वजन या प्राथमिकताओं को सेट नहीं कर सकते हैं। इसका मतलब है कि यदि एडब्ल्यूएस पूरी तरह से अनुपलब्ध हो जाता है, तो आपको आईपी को हटाने के लिए वास्तव में एक DNS परिवर्तन करना होगा। स्वचालित हो सकता है यदि आपके DNS प्रदाता के पास एक एपीआई है जो इसकी अनुमति देता है। दूसरी तरफ, DNS कैशिंग को इतने सारे स्थानों में किया जाता है कि यह DNS परिवर्तन करने के लायक नहीं हो सकता है, जिसका अर्थ है कि 1 आईपी अनुपलब्ध होने पर आपके पास 50% से 100% उपलब्धता होगी (माना जाता है कि आपके पास 2 ए रिकॉर्ड हैं) क्योंकि कुछ ब्राउज़र दूसरे आईपी को आजमा सकते हैं यदि पहला काम नहीं करता है।
मेरी राय में, एडब्ल्यूएस के उत्कृष्ट अपटाइम पर विचार करते हुए, आपको अपने डोमेन में 2 अलग-अलग आईपी (2 अलग-अलग प्रदाताओं पर) असाइन करने में कोई गलती नहीं होगी। मुझे लगता है कि 1 आईपी नीचे होने पर 0% उपलब्धता होने से बेहतर है, लेकिन आपके अनुरोधों में से 50% खोने में अभी भी कोई खुशी नहीं है।
आपके पास प्रत्येक प्रदाता पर 2 लोड-बैलेंसर हो सकते हैं, और कुछ उदाहरण/सर्वर नीचे होने पर उन्हें अन्य प्रदाता को अनुरोध अग्रेषित करने दें। दूसरे शब्दों में, आपको केवल एक प्रदाता पर दोनों प्रदाताओं पर कार्यात्मक लोड-बैलेंसर्स और कार्यात्मक सर्वर/उदाहरणों की आवश्यकता होती है। एक वैकल्पिक प्रदाता का चयन करना सुनिश्चित करें जिसमें AWS के लिए बहुत अधिक विलंबता नहीं है;)
एमएमएम भी एक अच्छा टूल है, लेकिन यह किसी भी तरह से रेल से संबंधित नहीं है। व्यक्तिगत रूप से मैं अपने सभी डेटाबेस सर्वरों के सामने एक लोड-बैलेंसर रखना पसंद करता हूं और उन्हें अनुरोध करता हूं कि कौन अनुरोध प्राप्त करता है आदि। डेटाबेस डेटाबेस सर्वर पर इतना महत्वपूर्ण है, आमतौर पर यह देखना बेहतर होता है कि यह मानव दिखता है और सुनिश्चित करता है कोई समस्या होने पर सबकुछ ठीक है, क्योंकि उपकरण को इसकी उपलब्धता, कॉन्फ़िगरेशन इत्यादि का प्रबंधन करने के विरोध में एमएमएम कई परिस्थितियों में काम करता है, शायद आपको इसे आजमाएं और देखें कि यह आपकी आवश्यकताओं का उत्तर देता है या नहीं। मैं इसके बारे में कुछ भी बुरा नहीं कह सकता।
मैं वूज़ा मीडिया सर्वर से बिल्कुल परिचित नहीं हूं, लेकिन एक त्वरित खोज ने कुछ चीजों को समझाया। चूंकि वाहजा आरटीएसपी (यूडीपी और टीसीपी) का उपयोग करता है, हैप्रोक्सी समाधान नहीं है क्योंकि यह केवल टीसीपी करता है। दूसरी तरफ रखी गई यूडीपी लोड-बैलेंसिंग (यह आईवीपीएस/एलवीएस का उपयोग करती है) कर सकती है। वास्तव में, यदि आपके पास लंबे प्रश्न हैं तो Keepalived का उपयोग आपके डेटाबेस गुलाम लोड-बैलेंसिंग के लिए भी किया जाना चाहिए।
एक अंतिम नोट, एस 3 स्टोरेज जैसे एडब्ल्यूएस जैसी सेवाओं को "खुद को रोल करने" के कई तरीके हैं। यदि आप एसपीएफ़ होने से बचना चाहते हैं लेकिन फिर भी आपकी एडब्ल्यूएस सेवाओं के समान कार्यक्षमता की आवश्यकता है, तो आपको ओपन सोर्स वेरिएंट जैसे कि नीलगिरी/क्लाउड डॉट कॉम/ओपनस्टैक/ग्लस्टरएफएस चलाने में देखना चाहिए। उन सभी चीजों को स्थापित करने में बहुत सारे काम शामिल हैं, लेकिन आप उस दिन से खुश रहेंगे जब आप कह सकते हैं: "तो क्या होगा अगर एक्स प्रदाता नीचे है, वाई ले जा सकता है"।
के समान ही है, मैं बिल्कुल आपके बारे में सहमत हूं ** एडब्ल्यूएस ** सबसे बड़ा ** एसपीएफ़ ** है, इसलिए हम विशिष्ट एडब्ल्यूएस सामान पर निर्भर नहीं हैं। हमारी वर्तमान स्कीमा प्लेटफार्म-अज्ञेयवादी है। यदि एडब्ल्यूएस नीचे चला जाता है, तो मैं बैकअप से मीडिया-सामग्री लाने के लिए 3 घंटे और 8-12hours के दौरान एक ही वातावरण को स्थापित कर सकता हूं। – Anatoly
मुझे आश्चर्य है कि कैसे गितब विफलता को संभालता है? मैं एक [ब्लॉग] में पढ़ सकता हूं (https://github.com/blog/493-github-is-moving-to-rackspace) _ रैक स्पेस पर, हमारे बुनियादी ढांचे के प्रत्येक टुकड़े में विफलता होगी। इसका मतलब है कि दो डेटाबेस सर्वर, चार वेब सर्वर, दो गिटहब पेज उदाहरण, दो जेम सर्वर उदाहरण, दो पुरालेख डाउनलोड उदाहरण, वितरित नौकरी धावक, फ़ाइल सर्वर के तीन जोड़े, और बहुत कुछ ._ – Anatoly
मुझे डीबी के बारे में आपके सुझाव को समझ में नहीं आता स्केलिंग _Personally मैं अपने सभी डेटाबेस सर्वर के सामने एक लोड-बैलेंसर रखना पसंद करता हूं और उनको संभालने देता हूं जो request_ प्राप्त करते हैं। वैसे भी यह एक एसपीएफ़ भी हो सकता है। – Anatoly