प्रौद्योगिकी साझेदारी

Zookeeper इत्यस्य अन्तर्निहितः सिद्धान्तः

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

ZooKeeper इति अत्यन्तं उपलब्धा वितरितसमन्वयसेवा अस्ति या वितरितप्रणालीषु वितरितप्रणालीषु स्थिरतासमस्यायाः समाधानार्थं व्यापकरूपेण उपयुज्यते । निम्नलिखितरूपेण ZooKeeper इत्यस्य अन्तर्निहितसिद्धान्तानां विस्तरेण परिचयः भविष्यति, यत्र तस्य वास्तुकला, आँकडाप्रतिरूपः, मूलतन्त्रं, स्थिरताप्रोटोकॉलः च सन्ति ।

1. वास्तुकला

ZooKeeper एकं master-slave आर्किटेक्चरं स्वीकुर्वति, यस्मिन् सामान्यतया एकः Leader तथा अनेक Followers भवति पठित-अनुरोधस्य दबावं साझां कर्तुं गैर-मतदान-नोड्-रूपेण Observer-नोड्स् अपि सन्ति ।

  • नेता: सर्वेषां लेखन-अनुरोधानाम् (व्यवहार-अनुरोधानाम्) निबन्धनस्य, संगति-प्रोटोकॉलस्य समन्वयस्य च उत्तरदायी ।
  • अनुयायी: मतदानस्य भागं गृह्णन्तु तथा च नेतारस्य स्थितिं समन्वययन्तु, पठन-अनुरोधं च संसाधयन्तु।
  • पर्यवेक्षक: मतदानस्य भागं न गृह्णाति, केवलं प्रक्रियाः ग्राहकानाम् अनुरोधं पठन्ति, अग्रे लिखन्ति च अनुरोधं कुर्वन्ति।

2. दत्तांशप्रतिरूपम्

ZooKeeper सञ्चिकातन्त्रस्य सदृशे वृक्षसंरचने दत्तांशं संगृह्णाति, प्रत्येकं नोड् च znode इति उच्यते ।

  • znode इति: मार्गः, दत्तांशः, स्थितिसूचना च सह दत्तांशनोड् ।
  • निरन्तर znode: एकः नोड् क्लायन्ट्-विच्छेदात् जीवति यावत् स्पष्टतया न विलोप्यते ।
  • क्षणिक znode: यदा क्लायन्ट् विच्छेदं करोति तदा नोड् स्वयमेव विलोप्यते ।
  • क्रमिक znode: नोड् निर्मितस्य समये स्वयमेव वर्धमानेन अनुक्रमसङ्ख्यायाः सह संलग्नः भवति ।

3. कोर तन्त्रम्

3.1.सत्रप्रबन्धनम्

प्रत्येकं क्लायन्ट् तथा ZooKeeper क्लस्टरयोः मध्ये एकं सत्रं स्थापितं भवति यत् संयोजनस्थितिं निर्वाहयितुम् अस्थायी नोड् प्रबन्धयितुं च । ZooKeeper हृदयस्पन्दनतन्त्रेण ग्राहकस्य संयोजनस्थितिं ज्ञापयति यदि निश्चितसमयान्तरे हृदयस्पन्दनं न प्राप्यते तर्हि सत्रं विच्छिन्नं मन्यते ।

3.2.दत्तांशसमन्वयनम्

प्रत्येकस्य नोड् इत्यस्य दत्तांशसङ्गतिं सुनिश्चित्य ZooKeeper दत्तांशसमन्वयनतन्त्रं स्वीकुर्वति । यदा Leader नोड् लेखन-अनुरोधं संसाधयति तदा सः परिवर्तन-कार्यक्रमं सर्वेभ्यः Follower-नोड्-भ्यः प्रेषयिष्यति Follower-नोड् परिवर्तन-कार्यक्रमं स्वीकृत्य पुष्टिं करिष्यति, तथा च Leader-नोड् अन्ततः निर्णयं करिष्यति यत् परिवर्तन-क्रिया सफला अस्ति वा इति

3.3.सूचनातन्त्रम्

ZooKeeper Watch तन्त्रस्य समर्थनं करोति क्लायन्ट् निर्दिष्टे znode इत्यत्र Watch पञ्जीकरणं कर्तुं शक्नोति यदा znode इत्यस्य data अथवा child nodes परिवर्तन्ते तदा ZooKeeper क्लायन्ट् सूचयिष्यति ।

4. स्थिरता प्रोटोकॉल

ZooKeeper इत्यनेन आँकडानां स्थिरतां सुनिश्चित्य ZAB (Zookeeper Atomic Broadcast) इति नामकं स्थिरताप्रोटोकॉलं उपयुज्यते । ज़ैब् द्वौ चरणौ भवतः : निर्वाचनचरणं प्रसारणचरणं च ।

4.1 निर्वाचन चरण

यदा ZooKeeper क्लस्टरः आरभ्यते, अथवा Leader नोड् विफलः भवति, तदा नूतनं Leader निर्धारयितुं निर्वाचनं आवश्यकं भवति । निर्वाचनचरणं मुख्यतया निम्नलिखितपदेषु विभक्तम् अस्ति ।

  1. मतदाता: सर्वे नोड्स् स्वयमेव मतदानं कुर्वन्ति अन्येभ्यः नोड्भ्यः च मतदानं प्रेषयन्ति।
  2. मतं प्राप्नुवन्ति: प्रत्येकं नोड् अन्येभ्यः नोड्भ्यः मतं प्राप्नोति, मतदानस्य परिणामं च गणयति ।
  3. मतदान अद्यतन करें: यदि प्राप्तमतेषु भवतः अपेक्षया अधिकं मतं धारयन् कोऽपि अभ्यर्थी अस्ति तर्हि तस्य अभ्यर्थिनः कृते स्वस्य मतं अद्यतनं कुर्वन्तु।
  4. नेता निर्धारयतु: यदा कश्चन अभ्यर्थी अर्धाधिकं मतं प्राप्नोति तदा सः नूतनः नेता भवति।
४.२ प्रसारणचरणम्

लीडर निर्धारितस्य अनन्तरं प्रसारणचरणं प्रविष्टं भवति लीडरः ग्राहकस्य लेखन-अनुरोधस्य संसाधनस्य उत्तरदायी भवति तथा च परिवर्तन-सञ्चालनं सर्वेषु Follower नोड्स-मध्ये प्रसारणं करोति । विशिष्टानि पदानि निम्नलिखितरूपेण सन्ति ।

  1. प्रस्ताव: लेखन-अनुरोधं प्राप्त्वा लीडरः प्रस्तावम् जनयति, प्रस्तावं च सर्वेभ्यः Follower-नोड्-भ्यः प्रेषयति ।
  2. दृढी करोतु: प्रस्तावस्य प्राप्तेः अनन्तरं Follower नोड् logging कृत्वा Leader इत्यस्मै पुष्टिकरणसन्देशं प्रेषयति ।
  3. उपस्थापयतु: Leader नोड् आर्धाधिकं पुष्टिकरणसन्देशं प्राप्त्वा प्रस्तावं प्रस्तौति तथा च सर्वेभ्यः Follower नोड्भ्यः प्रस्तुतीकरणपरिणामस्य सूचनां ददाति।
  4. परिवर्तनं प्रयोजयन्तु: Follower नोड् इत्यस्य commit सूचनां प्राप्तस्य अनन्तरं परिवर्तनक्रियाम् प्रयोजयति ।

5. नमूना कोड

निम्नलिखितम् ZooKeeper इत्यस्य उपयोगेन सरलं उदाहरणम् अस्ति, यत् कथं नोड् निर्मातुं, नोड् डाटा पठितुं, Watch इत्यस्य पञ्जीकरणं कर्तुं च दर्शयति ।

5.1.आश्रितानां परिचयः

अस्ति pom.xml ZooKeeper क्लायन्ट् निर्भरतां परिचययन्तु।

 

xmlCopy कोड