प्रयोगशाला: RTT उपकरण — दो नोड्स बनाम N नोड्स 🌐#

(जैसे-जैसे पैमाना बढ़ता है, सामंजस्य का पतन देखना)

उद्देश्य#

इस प्रयोगशाला में, आप RTT‑शैली अवलोकन का उपयोग करके एक वितरित प्रणाली को उपकरण करेंगे और प्रणाली के व्यवहार की तुलना करेंगे:

  • एक दो-नोड कॉन्फ़िगरेशन
  • एक N-नोड कॉन्फ़िगरेशन (N ≥ 5)

आप देखेंगे कि संगति विचलन पैमाने के साथ कैसे बदलता है, बिना समन्वय, पुनः प्रयास, या प्रवर्तन जोड़े।


मुख्य प्रश्न#

कौन से अनुमान दो नोड्स पर सही होते हैं जो N नोड्स पर चुपचाप विफल होते हैं?

RTT आपको उत्तर देखने में मदद करता है.


सिस्टम सेटअप#

आप किसी भी वितरित प्रणाली का उपयोग कर सकते हैं जिसे आप पहले से एक्सेस कर सकते हैं:

  • संदेश-प्रेषण नोड
  • प्रतिलिपि की-मान भंडार
  • नेता-आधारित सेवा
  • सहमति सिम्युलेटर (सहमति को लागू किए बिना)

आप सभी नोड्स को एक मशीन पर सिम्युलेट कर सकते हैं।


चरण 1: दो-नोड उपकरणीकरण 🔁#

चरण 1: एक धारणा घोषित करें#

एक वितरित धारणा चुनें।

उदाहरण:

  • “दोनों नोड अंततः नवीनतम मान पर सहमत होते हैं।”
  • “संदेश सीमित समय के भीतर आते हैं।”
  • “केवल एक नोड मानता है कि वह नेता है।”

इसे एक वाक्य में लिखें।


चरण 2: एक संगति गलियारा परिभाषित करें#

परिभाषित करें कि सामान्य व्यवहार दो नोड्स के बीच कैसा दिखता है।

उदाहरण:

  • अधिकतम संदेश विलंब
  • अनुमत संस्करण विचलन
  • हार्टबीट अंतराल

यह गलियारा अपेक्षित संगति को परिभाषित करता है, न कि सहीता।


चरण 3: एक सीमा का अवलोकन करें#

उपकरण एक सीमा:

  • संदेश भेजें / प्राप्त करें
  • राज्य अद्यतन
  • समय समाप्त
  • नेतृत्व परिवर्तन

केवल अवलोकन जोड़ें।


चरण 4: बैज जारी करें#

जब व्यवहार गलियारे से बाहर निकलता है, तो एक बैज जारी करें:

[BADGE]
type: COHERENCE_DRIFT
node: node_A
context: version_lag_exceeded
timestamp: 10234

सिस्टम चलाएँ और बैज आउटपुट एकत्र करें।


चरण 2: एन-नोड इंस्ट्रुमेंटेशन 🔗#

अब एक ही प्रणाली को N नोड्स (≥5) तक बढ़ाएं।

कृपया न करें:

  • तर्क में बदलाव करें
  • समन्वय जोड़ें
  • समय सीमाओं को कड़ा करें
  • कुछ भी ठीक करें

केवल नोड की संख्या बढ़ाएं।


देखें और रिकॉर्ड करें#

समान लोड के तहत सिस्टम चलाएँ और रिकॉर्ड करें:

  • बैज आवृत्ति
  • बैज समरूपता (कौन से नोड्स उत्सर्जित करते हैं)
  • पहली ड्रिफ्ट तक का समय
  • क्या ड्रिफ्ट स्थिर होती है या कैस्केड होती है

तुलना विश्लेषण 📊#

एक संक्षिप्त तुलना तालिका बनाएं:

पहलू दो नोड्स N नोड्स
पहली ड्रिफ्ट देखी गई
बैज आवृत्ति
ड्रिफ्ट सममिति
समय संवेदनशीलता

प्रतिबिंब प्रश्न 🧠#

संक्षेप में उत्तर दें:

  1. कौन से अनुमान दो नोड्स पर सही थे लेकिन N पर विफल हो गए?
  2. क्या परिवर्तन धीरे-धीरे या अचानक दिखाई दिया?
  3. क्या समय स्थिति से अधिक महत्वपूर्ण था?
  4. क्या किसी नोड को "जानता" था कि प्रणाली असंगत थी?
  5. क्या प्रवर्तन ने मदद की होगी - या समस्या को छिपा दिया होगा?

मुख्य अंतर्दृष्टि (आपको क्या नोटिस करना चाहिए)#

दो नोड्स पर:

  • धारणाएँ स्थिर लगती हैं
  • ड्रिफ्ट दुर्लभ और सममित है
  • समय प्रबंधनीय लगता है

N नोड्स पर:

  • ड्रिफ्ट पहले दिखाई देता है
  • धारणाएँ खंडित होती हैं
  • समय व्यवहार पर हावी होता है
  • संगति उद्भव बन जाती है, सुनिश्चित नहीं है

RTT इसे कुछ भी ठीक किए बिना स्पष्ट करता है।


आपको क्या नहीं करना चाहिए 🚫#

  • कोई पुनः प्रयास नहीं
  • कोई नेता पुनः चुनाव नहीं
  • कोई पुनः समन्वय नहीं
  • कोई स्थिरता प्रवर्तन नहीं

केवल अवलोकन।


डिलिवरेबल्स 📦#

जमा करें:

  1. धारणाएँ और गलियारे की परिभाषा
  2. उपकरण कोड
  3. दो-नोड और N-नोड रन से बैज नमूने
  4. तुलना तालिका
  5. संक्षिप्त प्रतिबिंब (8–10 वाक्य)

यह प्रयोगशाला क्यों महत्वपूर्ण है#

अधिकांश वितरित प्रणालियाँ छोटे पैमाने पर डिज़ाइन की जाती हैं और बड़े पैमाने पर विफल होती हैं — न कि इसलिए कि तर्क टूटता है, बल्कि इसलिए कि धारणाएँ चुपचाप रुक जाती हैं.

RTT आपको प्रशिक्षित करता है:

  • उस क्षण को देखना
  • उसे नाम देना
  • उस पर तर्क करना

इससे पहले कि आप इसे ठीक करने की कोशिश करें.


शिक्षक नोट#

यह प्रयोगशाला व्याख्यानों के साथ अच्छी तरह से मेल खाती है:

  • CAP प्रमेय
  • विफलता डिटेक्टर
  • अंततः संगतता
  • घड़ी का स्क्यू और आंशिक क्रम

छात्र अक्सर रिपोर्ट करते हैं कि यह पहली बार है जब वे देखते हैं कि स्केल एक संगति समस्या है, न कि केवल एक प्रदर्शन समस्या।

Updated