डिस्ट्रिब्यूटेड सिस्टम (Distributed System)

डिस्ट्रिब्यूटेड सिस्टम ऑटोनॉमस कंप्यूटिंग तत्वों का एक कलेक्शन है जो एक नेटवर्क पर जुड़ा हुआ है और उपयोगकर्ताओं को एकल स्पष्ट सिस्टम के रूप में दिखाई देता है। आम तौर पर नोड्स के रूप में संदर्भित, ये भाग हार्डवेयर डिवाइस जैसे - कंप्यूटर, मोबाइल फोन या सॉफ्टवेयर प्रक्रियाएं हो सकते हैं। नोड्स को एक सामान्य लक्ष्य प्राप्त करने के लिए प्रोग्राम किया जाता है और सहयोग करने के लिए, वे नेटवर्क पर संदेशों का आदान-प्रदान करते हैं।

समस्या

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

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

समाधान

डिस्ट्रिब्यूटेड सिस्टम होरिजेंटल स्केलिंग की अनुमति देती हैं (उदाहरण के लिए जरूरत के समय सिस्टम में अधिक नोड्स जोड़ना)। इसे ऑटोमेटिक किया जा सकता है जिससे सिस्टम के कार्यभार या संसाधन की खपत में अचानक हुई वृद्धि को संभालना सरल हो सके।

एक नॉन-डिस्ट्रिब्यूटेड सिस्टम विफलता के जोखिमों को उजागर करती है क्योंकि यदि एक मशीन विफल हो जाती है, तो पुरा सिस्टम विफल हो जाता है। एक डिस्ट्रिब्यूटेड सिस्टम को इस तरह से डिज़ाइन किया जा सकता है कि, भले ही कुछ मशीनें खराब हो जाएं, फिर भी समग्र सिस्टम समान परिणाम देने के लिए काम करना जारी रख सके।


अंतिम बार संशोधित May 30, 2024: Create distributed-systems.md (#2708) (d2ceff1)