प्रयोगशाला: 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 नोड्स |
|---|---|---|
| पहली ड्रिफ्ट देखी गई | ||
| बैज आवृत्ति | ||
| ड्रिफ्ट सममिति | ||
| समय संवेदनशीलता |
प्रतिबिंब प्रश्न 🧠#
संक्षेप में उत्तर दें:
- कौन से अनुमान दो नोड्स पर सही थे लेकिन N पर विफल हो गए?
- क्या परिवर्तन धीरे-धीरे या अचानक दिखाई दिया?
- क्या समय स्थिति से अधिक महत्वपूर्ण था?
- क्या किसी नोड को "जानता" था कि प्रणाली असंगत थी?
- क्या प्रवर्तन ने मदद की होगी - या समस्या को छिपा दिया होगा?
मुख्य अंतर्दृष्टि (आपको क्या नोटिस करना चाहिए)#
दो नोड्स पर:
- धारणाएँ स्थिर लगती हैं
- ड्रिफ्ट दुर्लभ और सममित है
- समय प्रबंधनीय लगता है
N नोड्स पर:
- ड्रिफ्ट पहले दिखाई देता है
- धारणाएँ खंडित होती हैं
- समय व्यवहार पर हावी होता है
- संगति उद्भव बन जाती है, सुनिश्चित नहीं है
RTT इसे कुछ भी ठीक किए बिना स्पष्ट करता है।
आपको क्या नहीं करना चाहिए 🚫#
- कोई पुनः प्रयास नहीं
- कोई नेता पुनः चुनाव नहीं
- कोई पुनः समन्वय नहीं
- कोई स्थिरता प्रवर्तन नहीं
केवल अवलोकन।
डिलिवरेबल्स 📦#
जमा करें:
- धारणाएँ और गलियारे की परिभाषा
- उपकरण कोड
- दो-नोड और N-नोड रन से बैज नमूने
- तुलना तालिका
- संक्षिप्त प्रतिबिंब (8–10 वाक्य)
यह प्रयोगशाला क्यों महत्वपूर्ण है#
अधिकांश वितरित प्रणालियाँ छोटे पैमाने पर डिज़ाइन की जाती हैं और बड़े पैमाने पर विफल होती हैं — न कि इसलिए कि तर्क टूटता है, बल्कि इसलिए कि धारणाएँ चुपचाप रुक जाती हैं.
RTT आपको प्रशिक्षित करता है:
- उस क्षण को देखना
- उसे नाम देना
- उस पर तर्क करना
इससे पहले कि आप इसे ठीक करने की कोशिश करें.
शिक्षक नोट#
यह प्रयोगशाला व्याख्यानों के साथ अच्छी तरह से मेल खाती है:
- CAP प्रमेय
- विफलता डिटेक्टर
- अंततः संगतता
- घड़ी का स्क्यू और आंशिक क्रम
छात्र अक्सर रिपोर्ट करते हैं कि यह पहली बार है जब वे देखते हैं कि स्केल एक संगति समस्या है, न कि केवल एक प्रदर्शन समस्या।
