Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL उच्च उपलब्धता फ्रेमवर्क समझाया - भाग I:परिचय

इस तीन-भाग वाली ब्लॉग श्रृंखला में, हम MySQL सेमीसिंक्रोनस प्रतिकृति और Corosync प्लस पेसमेकर स्टैक का उपयोग करके MySQL होस्टिंग के लिए एक उच्च उपलब्धता (HA) फ्रेमवर्क के विवरण और कार्यक्षमता की व्याख्या करेंगे। भाग I में, हम आपको उच्च उपलब्धता की मूल बातें, एक HA फ्रेमवर्क के घटकों के बारे में बताएंगे, और फिर आपको MySQL के लिए HA फ्रेमवर्क से परिचित कराएंगे।

उच्च उपलब्धता क्या है?

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

उपलब्धता % प्रति वर्ष डाउनटाइम
90% ("एक 9 ") 36.53 दिन
99% ("दो 9s ") 3.65 दिन
99.9% ("तीन 9s ") 8.77 घंटे
99.99% ("चार 9s ") 52.60 मिनट
99.999% ("पांच 9s ") 5.26 मिनट
99.9999% ("छः 9s ") 31.56 सेकंड

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

HA फ्रेमवर्क के घटक

अत्यधिक उपलब्ध होने का सार सिस्टम के किसी भी हिस्से में होने वाली विफलताओं से तुरंत उबरने की क्षमता है। किसी भी HA ढांचे में चार अत्यधिक आवश्यक घटक होते हैं जिन्हें इस पुनर्प्राप्ति को सक्षम करने के लिए एक स्वचालित फैशन में एक साथ काम करने की आवश्यकता होती है। आइए इन घटकों की विस्तार से समीक्षा करें:

1. अवसंरचना और डेटा में अतिरेक

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

2. विफलता का पता लगाने और सुधार तंत्र

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

3. विफलता तंत्र

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

4. एप्लिकेशन/उपयोगकर्ता पुनर्निर्देशन तंत्र

एक बार जब स्टैंडबाय सिस्टम प्राथमिक के रूप में कार्यभार संभाल लेते हैं, तो यह घटक सुनिश्चित करता है कि सभी एप्लिकेशन और उपयोगकर्ता कनेक्शन नए प्राथमिक में होने लगते हैं।

MySQL उच्च उपलब्धता फ्रेमवर्क समझाया गया - भाग Iट्वीट करने के लिए क्लिक करें

MySQL के लिए HA फ्रेमवर्क

उपरोक्त मॉडल के आधार पर, हम स्केलग्रिड पर अपने MySQL होस्टिंग के लिए निम्नलिखित HA फ्रेमवर्क का उपयोग करते हैं:

  • एक 3-नोड मास्टर-स्लेव सेटअप जो बुनियादी ढांचे और डेटा अतिरेक प्रदान करने के लिए MySQL सेमीसिंक्रोनस प्रतिकृति का उपयोग करता है।
  • कोरोसिंक प्लस पेसमेकर स्टैक विफलता का पता लगाने, सुधार करने और विफलता तंत्र प्रदान करने के लिए।
  • एप्लिकेशन और उपयोगकर्ता पुनर्निर्देशन तंत्र प्रदान करने के लिए एक DNS मैपिंग या वर्चुअल आईपी घटक।

इस आर्किटेक्चर के सॉफ़्टवेयर स्टैक की कल्पना करने के लिए नीचे दिए गए आरेख को देखें:

आइए इस ढांचे के कुछ प्रमुख घटकों की कार्यक्षमता की समीक्षा करें।

  1. कोरोसिंक

    Corosync नोड्स के बीच एक विश्वसनीय संदेश-पासिंग के साथ संचार ढांचा प्रदान करता है। यह नोड्स का एक क्लस्टर रिंग बनाता है, और क्लस्टर सदस्यता के माध्यम से क्लस्टर में शामिल होने और छोड़ने वाले नोड्स का ट्रैक रखता है। कोरोसिंक नोड उपलब्धता के बारे में संवाद करने के लिए पेसमेकर के साथ मिलकर काम करता है ताकि पेसमेकर उचित निर्णय ले सके।

  2. पेसमेकर

    क्लस्टर रिसोर्स मैनेजर (CRM) के रूप में भी जाना जाता है, पेसमेकर क्लस्टर पर चलने वाले MySQL के लिए उच्च उपलब्धता सुनिश्चित करता है और Corosync के साथ इंटरफेस करके नोड-स्तरीय विफलताओं का पता लगाता है और उन्हें संभालता है। यह रिसोर्स एजेंट (आरए) के साथ इंटरफेस करके MySQL की विफलताओं का पता लगाता है और उन्हें संभालता है। पेसमेकर MySQL संसाधन को स्टार्ट, स्टॉप, मॉनिटर, प्रमोशन और डिमोट ऑपरेशंस के माध्यम से कॉन्फ़िगर और प्रबंधित करता है।

  3. संसाधन एजेंट

    संसाधन एजेंट MySQL और पेसमेकर के बीच एक इंटरफेस के रूप में कार्य करता है। यह पेसमेकर द्वारा लागू किए गए संचालन को शुरू, बंद, प्रचार, डिमोट और मॉनिटर करता है। Percona द्वारा कार्यान्वित MySQL के लिए Percona प्रतिकृति प्रबंधक (PRM) नामक एक पूर्ण-कार्यात्मक संसाधन एजेंट है। इसे स्केलग्रिड द्वारा बढ़ाया गया है और यह हमारे GitHub पेज पर उपलब्ध है।

  4. डीएनएस मैपिंग घटक

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

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. भ्रष्ट MySQL डेटाबेस की मरम्मत के लिए नि:शुल्क तरीके

  2. MySQL COUNT DISTINCT

  3. Utf8_general_ci और utf8_unicode_ci में क्या अंतर हैं?

  4. एक MySQL तालिका को दूसरे के मानों के साथ अपडेट करें

  5. विस्फोट के बराबर () MySQL में तार के साथ काम करने के लिए