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

मारियाडब कनेक्टर जे औरोरा फास्ट फेलओवर इम्प्लीमेंटेशन

यहां कुछ संकेत दिए गए हैं :औरोरा के कई उदाहरण हैं। एक "लेखक" (गुरु) है, अन्य "पाठक" (गुलाम) हैं।

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

Aurora में "xx.cluster-yy.zz.rds.amazonaws.com" जैसे क्लस्टर के लिए एक DNS एंडपॉइंट है जो वर्तमान मास्टर की ओर इशारा करता है। जब कोई फ़ेलओवर होता है, तो DNS को रीफ़्रेश किया जाता है... लेकिन तुरंत नहीं।

औरोरा के लिए एक "कनेक्शन" का अर्थ है उदाहरणों के लिए 2 अंतर्निहित कनेक्शन:एक मास्टर के लिए, एक गुलाम के लिए। कनेक्शन के अनुसार ड्राइवर मास्टर या गुलाम के लिए अंतर्निहित कनेक्शन का उपयोग करेगा।

हर बार जब ड्राइवर किसी उदाहरण से जुड़ता है, तो यह सुनिश्चित करेगा कि वर्तमान स्थिति वैश्विक चर "innodb_read_only" (OFF =मास्टर) की जाँच कर रही है।

ऑरोरा इंस्टेंस को जोड़ा जा सकता है, इसलिए प्रारंभिक कनेक्शन पर, उपयोगकर्ता क्लस्टर एंडपॉइंट का उपयोग करके, इंस्टेंस की वर्तमान सूची को info_schema.replica_host_status का उपयोग करके पुनर्प्राप्त किया जाएगा।

2 अंतर्निहित कनेक्शन स्थापित करने के लिए, ड्राइवर एक यादृच्छिक होस्ट से कनेक्ट होगा, यदि यह वर्तमान मास्टर है, तो अच्छा है तो अन्य सभी होस्ट गुलाम हैं, यदि नहीं, तो ड्राइवर दास से अपने वर्तमान मास्टर से पूछेगा, इसलिए अगला कनेक्शन जानकारी_स्कीमा का उपयोग करके होस्ट को कनेक्ट करेगा। प्रतिकृति_होस्ट_स्टैटस जहां session_id ='MASTER_SESSION_ID' (DNS का उपयोग करने से अधिक भरोसेमंद)। यदि किसी इंस्टेंस से कनेक्शन विफल हो जाता है, तो इस इंस्टेंस नाम को एक निश्चित समय के लिए ब्लैकलिस्ट में डाल दिया जाएगा (यह ब्लैकलिस्ट प्रति jvm साझा की जाती है) इसका पुन:उपयोग करने से बचने के लिए। ड्राइवर एक यादृच्छिक उपलब्ध होस्ट को फिर से कनेक्ट करने का प्रयास करता है जब तक कि कोई भी ब्लैकलिस्ट नहीं किया जाता है, फिर कुछ समय के लिए ब्लैकलिस्टेड के साथ पुनः प्रयास कर सकता है (मापदंडों के आधार पर)। यदि कनेक्शन सफल होता है, तो उदाहरण "अन-ब्लैक लिस्टेड" है।

अंतर्निहित दास कनेक्शन की विफलता के लिए, मास्टर कनेक्शन का उपयोग किया जाता है, और थ्रेड के कुछ अंतर्निहित पूल पृष्ठभूमि में दास उदाहरण को फिर से जोड़ने का प्रयास करेंगे।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस से पढ़े गए विकल्प मेनू का चयन करें और इसके मूल्यों का उपयोग करें

  2. स्प्रिंग जेपीए में सटीक मिलान रिकॉर्ड कैसे प्राप्त करें @Query

  3. MySQL LN () फ़ंक्शन - किसी संख्या का प्राकृतिक लघुगणक लौटाता है

  4. Mysql पुनरावर्ती समूहीकृत मूल्यों को घटाना और गुणा करना

  5. MySQL संग्रहीत कार्यविधियाँ या php कोड?