MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

कैसे सुनिश्चित करें कि आपके MongoDB क्लस्टर Amazon AWS आउटेज से बच सकते हैं?

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

  1. एक स्टैंडअलोन इंस्टेंस बनाम एक प्रतिकृति सेट चलाना

    यदि आप एक प्रोडक्शन MongoDB सर्वर चला रहे हैं, तो वास्तव में एक स्टैंडअलोन इंस्टेंस बनाम प्रतिकृति सेट चलाने का कोई बहाना नहीं है। एक प्रतिकृति सेट बनाएं ताकि प्राथमिक विफलता के मामले में आपके पास विफलता के लिए द्वितीयक हो सके।

  2. उपलब्धता क्षेत्रों में प्रतिकृतियां वितरित नहीं करना

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

  3. आपके फ़्रंट-एंड या ऐप सर्वर को उपलब्धता क्षेत्रों में वितरित नहीं करना

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

  4. अपने कनेक्शन स्ट्रिंग में प्रतिकृति सेट बनाम एकल सर्वर से कनेक्ट करें

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

स्केलग्रिड में, हम आपके परिनियोजन के सभी परिचालन पहलुओं को स्वचालित करते हैं ताकि आप अपने ऐप पर ध्यान केंद्रित कर सकें और संचालन के बारे में चिंता न करें। जब आप स्केलग्रिड के साथ एक MongoDB प्रतिकृति सेट बनाते हैं, तो हम प्रतिकृतियों को स्वचालित रूप से उपलब्धता क्षेत्रों में वितरित करते हैं। इस वितरण के कारण, हमारे सभी ग्राहक AWS डाउनटाइम समस्या को सुरक्षित रूप से नेविगेट करने में सक्षम हुए हैं। यदि आप MongoDB के परिचालन पहलुओं पर अधिक विस्तृत पढ़ने में रुचि रखते हैं, तो आप मेरे पहले के विस्तृत ब्लॉग पोस्ट को पढ़ सकते हैं – AWS पर MongoDB को होस्ट करते समय पूछने और उत्तर देने के लिए 10 प्रश्न


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. संग्रह वस्तु PyMongo के साथ प्रतिदेय त्रुटि नहीं है

  2. कुल 16MB सीमा से बचें

  3. मोंगोडब में कई स्थितियों के साथ अद्यतन सरणी

  4. मोंगो एकत्रीकरण में दस्तावेज़ में सरणी फ़ील्ड को कैसे मर्ज करें?

  5. MongoDB ढूँढें और संशोधित करें ()